aws-sdk-customerprofiles 1.34.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-customerprofiles/client.rb +230 -1
- data/lib/aws-sdk-customerprofiles/client_api.rb +116 -0
- data/lib/aws-sdk-customerprofiles/endpoints.rb +28 -0
- data/lib/aws-sdk-customerprofiles/plugins/endpoints.rb +4 -0
- data/lib/aws-sdk-customerprofiles/types.rb +480 -0
- data/lib/aws-sdk-customerprofiles.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 3847894d76e1158f0a0c5509d8ec22aae467b67a1b1c362cc9051402c52d992e
         | 
| 4 | 
            +
              data.tar.gz: 8bcf0ba3fa492543be704ba0c05fe17b6735f8332c2524b925dc9d848cfdf229
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: da2b1470141ec4944abf55c78e1c25416d54440bedfe1f40b9ab9421a37d24b684f4e9c7df6f39acb4243a22ba751c7f95aae2a223fdbc3d2fcdd7a16bd82b1c
         | 
| 7 | 
            +
              data.tar.gz: ceb6ae46e835a86ffaec735e4a8930f1909cf78a555358300e49e443f0d892f427a69d8434a3d0baabaf97e5a486ad033e0d18a0fd3822fd4042134878795b29
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,11 @@ | |
| 1 1 | 
             
            Unreleased Changes
         | 
| 2 2 | 
             
            ------------------
         | 
| 3 3 |  | 
| 4 | 
            +
            1.35.0 (2023-07-25)
         | 
| 5 | 
            +
            ------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Feature - Amazon Connect Customer Profiles now supports rule-based resolution to match and merge similar profiles into unified profiles, helping companies deliver faster and more personalized customer service by providing access to relevant customer information for agents and automated experiences.
         | 
| 8 | 
            +
             | 
| 4 9 | 
             
            1.34.0 (2023-07-11)
         | 
| 5 10 | 
             
            ------------------
         | 
| 6 11 |  | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.35.0
         | 
| @@ -607,6 +607,15 @@ module Aws::CustomerProfiles | |
| 607 607 | 
             
                #
         | 
| 608 608 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 609 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 | 
            +
                #
         | 
| 610 619 | 
             
                # @option params [Hash<String,String>] :tags
         | 
| 611 620 | 
             
                #   The tags used to organize, track, or control access for this resource.
         | 
| 612 621 | 
             
                #
         | 
| @@ -617,6 +626,7 @@ module Aws::CustomerProfiles | |
| 617 626 | 
             
                #   * {Types::CreateDomainResponse#default_encryption_key #default_encryption_key} => String
         | 
| 618 627 | 
             
                #   * {Types::CreateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
         | 
| 619 628 | 
             
                #   * {Types::CreateDomainResponse#matching #matching} => Types::MatchingResponse
         | 
| 629 | 
            +
                #   * {Types::CreateDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
         | 
| 620 630 | 
             
                #   * {Types::CreateDomainResponse#created_at #created_at} => Time
         | 
| 621 631 | 
             
                #   * {Types::CreateDomainResponse#last_updated_at #last_updated_at} => Time
         | 
| 622 632 | 
             
                #   * {Types::CreateDomainResponse#tags #tags} => Hash<String,String>
         | 
| @@ -654,6 +664,32 @@ module Aws::CustomerProfiles | |
| 654 664 | 
             
                #         },
         | 
| 655 665 | 
             
                #       },
         | 
| 656 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",
         | 
| 685 | 
            +
                #       },
         | 
| 686 | 
            +
                #       exporting_config: {
         | 
| 687 | 
            +
                #         s3_exporting: {
         | 
| 688 | 
            +
                #           s3_bucket_name: "s3BucketName", # required
         | 
| 689 | 
            +
                #           s3_key_name: "s3KeyNameCustomerOutputConfig",
         | 
| 690 | 
            +
                #         },
         | 
| 691 | 
            +
                #       },
         | 
| 692 | 
            +
                #     },
         | 
| 657 693 | 
             
                #     tags: {
         | 
| 658 694 | 
             
                #       "TagKey" => "TagValue",
         | 
| 659 695 | 
             
                #     },
         | 
| @@ -677,6 +713,24 @@ module Aws::CustomerProfiles | |
| 677 713 | 
             
                #   resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
         | 
| 678 714 | 
             
                #   resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
         | 
| 679 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
         | 
| 680 734 | 
             
                #   resp.created_at #=> Time
         | 
| 681 735 | 
             
                #   resp.last_updated_at #=> Time
         | 
| 682 736 | 
             
                #   resp.tags #=> Hash
         | 
| @@ -1520,6 +1574,7 @@ module Aws::CustomerProfiles | |
| 1520 1574 | 
             
                #   * {Types::GetDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
         | 
| 1521 1575 | 
             
                #   * {Types::GetDomainResponse#stats #stats} => Types::DomainStats
         | 
| 1522 1576 | 
             
                #   * {Types::GetDomainResponse#matching #matching} => Types::MatchingResponse
         | 
| 1577 | 
            +
                #   * {Types::GetDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
         | 
| 1523 1578 | 
             
                #   * {Types::GetDomainResponse#created_at #created_at} => Time
         | 
| 1524 1579 | 
             
                #   * {Types::GetDomainResponse#last_updated_at #last_updated_at} => Time
         | 
| 1525 1580 | 
             
                #   * {Types::GetDomainResponse#tags #tags} => Hash<String,String>
         | 
| @@ -1552,6 +1607,24 @@ module Aws::CustomerProfiles | |
| 1552 1607 | 
             
                #   resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
         | 
| 1553 1608 | 
             
                #   resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
         | 
| 1554 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
         | 
| 1555 1628 | 
             
                #   resp.created_at #=> Time
         | 
| 1556 1629 | 
             
                #   resp.last_updated_at #=> Time
         | 
| 1557 1630 | 
             
                #   resp.tags #=> Hash
         | 
| @@ -1947,6 +2020,68 @@ module Aws::CustomerProfiles | |
| 1947 2020 | 
             
                  req.send_request(options)
         | 
| 1948 2021 | 
             
                end
         | 
| 1949 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<String>
         | 
| 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 | 
            +
             | 
| 1950 2085 | 
             
                # Get details of specified workflow.
         | 
| 1951 2086 | 
             
                #
         | 
| 1952 2087 | 
             
                # @option params [required, String] :domain_name
         | 
| @@ -2539,6 +2674,46 @@ module Aws::CustomerProfiles | |
| 2539 2674 | 
             
                  req.send_request(options)
         | 
| 2540 2675 | 
             
                end
         | 
| 2541 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<String>
         | 
| 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 | 
            +
             | 
| 2542 2717 | 
             
                # Displays the tags associated with an Amazon Connect Customer Profiles
         | 
| 2543 2718 | 
             
                # resource. In Connect Customer Profiles, domains, profile object types,
         | 
| 2544 2719 | 
             
                # and integrations can be tagged.
         | 
| @@ -3440,6 +3615,15 @@ module Aws::CustomerProfiles | |
| 3440 3615 | 
             
                #
         | 
| 3441 3616 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 3442 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 | 
            +
                #
         | 
| 3443 3627 | 
             
                # @option params [Hash<String,String>] :tags
         | 
| 3444 3628 | 
             
                #   The tags used to organize, track, or control access for this resource.
         | 
| 3445 3629 | 
             
                #
         | 
| @@ -3450,6 +3634,7 @@ module Aws::CustomerProfiles | |
| 3450 3634 | 
             
                #   * {Types::UpdateDomainResponse#default_encryption_key #default_encryption_key} => String
         | 
| 3451 3635 | 
             
                #   * {Types::UpdateDomainResponse#dead_letter_queue_url #dead_letter_queue_url} => String
         | 
| 3452 3636 | 
             
                #   * {Types::UpdateDomainResponse#matching #matching} => Types::MatchingResponse
         | 
| 3637 | 
            +
                #   * {Types::UpdateDomainResponse#rule_based_matching #rule_based_matching} => Types::RuleBasedMatchingResponse
         | 
| 3453 3638 | 
             
                #   * {Types::UpdateDomainResponse#created_at #created_at} => Time
         | 
| 3454 3639 | 
             
                #   * {Types::UpdateDomainResponse#last_updated_at #last_updated_at} => Time
         | 
| 3455 3640 | 
             
                #   * {Types::UpdateDomainResponse#tags #tags} => Hash<String,String>
         | 
| @@ -3487,6 +3672,32 @@ module Aws::CustomerProfiles | |
| 3487 3672 | 
             
                #         },
         | 
| 3488 3673 | 
             
                #       },
         | 
| 3489 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",
         | 
| 3693 | 
            +
                #       },
         | 
| 3694 | 
            +
                #       exporting_config: {
         | 
| 3695 | 
            +
                #         s3_exporting: {
         | 
| 3696 | 
            +
                #           s3_bucket_name: "s3BucketName", # required
         | 
| 3697 | 
            +
                #           s3_key_name: "s3KeyNameCustomerOutputConfig",
         | 
| 3698 | 
            +
                #         },
         | 
| 3699 | 
            +
                #       },
         | 
| 3700 | 
            +
                #     },
         | 
| 3490 3701 | 
             
                #     tags: {
         | 
| 3491 3702 | 
             
                #       "TagKey" => "TagValue",
         | 
| 3492 3703 | 
             
                #     },
         | 
| @@ -3510,6 +3721,24 @@ module Aws::CustomerProfiles | |
| 3510 3721 | 
             
                #   resp.matching.auto_merging.min_allowed_confidence_score_for_merging #=> Float
         | 
| 3511 3722 | 
             
                #   resp.matching.exporting_config.s3_exporting.s3_bucket_name #=> String
         | 
| 3512 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
         | 
| 3513 3742 | 
             
                #   resp.created_at #=> Time
         | 
| 3514 3743 | 
             
                #   resp.last_updated_at #=> Time
         | 
| 3515 3744 | 
             
                #   resp.tags #=> Hash
         | 
| @@ -3715,7 +3944,7 @@ module Aws::CustomerProfiles | |
| 3715 3944 | 
             
                    params: params,
         | 
| 3716 3945 | 
             
                    config: config)
         | 
| 3717 3946 | 
             
                  context[:gem_name] = 'aws-sdk-customerprofiles'
         | 
| 3718 | 
            -
                  context[:gem_version] = '1. | 
| 3947 | 
            +
                  context[:gem_version] = '1.35.0'
         | 
| 3719 3948 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 3720 3949 | 
             
                end
         | 
| 3721 3950 |  | 
| @@ -18,6 +18,7 @@ module Aws::CustomerProfiles | |
| 18 18 | 
             
                AddProfileKeyResponse = Shapes::StructureShape.new(name: 'AddProfileKeyResponse')
         | 
| 19 19 | 
             
                AdditionalSearchKey = Shapes::StructureShape.new(name: 'AdditionalSearchKey')
         | 
| 20 20 | 
             
                Address = Shapes::StructureShape.new(name: 'Address')
         | 
| 21 | 
            +
                AddressList = Shapes::ListShape.new(name: 'AddressList')
         | 
| 21 22 | 
             
                AppflowIntegration = Shapes::StructureShape.new(name: 'AppflowIntegration')
         | 
| 22 23 | 
             
                AppflowIntegrationWorkflowAttributes = Shapes::StructureShape.new(name: 'AppflowIntegrationWorkflowAttributes')
         | 
| 23 24 | 
             
                AppflowIntegrationWorkflowMetrics = Shapes::StructureShape.new(name: 'AppflowIntegrationWorkflowMetrics')
         | 
| @@ -25,7 +26,9 @@ module Aws::CustomerProfiles | |
| 25 26 | 
             
                AttributeDetails = Shapes::StructureShape.new(name: 'AttributeDetails')
         | 
| 26 27 | 
             
                AttributeItem = Shapes::StructureShape.new(name: 'AttributeItem')
         | 
| 27 28 | 
             
                AttributeList = Shapes::ListShape.new(name: 'AttributeList')
         | 
| 29 | 
            +
                AttributeMatchingModel = Shapes::StringShape.new(name: 'AttributeMatchingModel')
         | 
| 28 30 | 
             
                AttributeSourceIdMap = Shapes::MapShape.new(name: 'AttributeSourceIdMap')
         | 
| 31 | 
            +
                AttributeTypesSelector = Shapes::StructureShape.new(name: 'AttributeTypesSelector')
         | 
| 29 32 | 
             
                Attributes = Shapes::MapShape.new(name: 'Attributes')
         | 
| 30 33 | 
             
                AutoMerging = Shapes::StructureShape.new(name: 'AutoMerging')
         | 
| 31 34 | 
             
                BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
         | 
| @@ -78,6 +81,7 @@ module Aws::CustomerProfiles | |
| 78 81 | 
             
                DomainStats = Shapes::StructureShape.new(name: 'DomainStats')
         | 
| 79 82 | 
             
                Double = Shapes::FloatShape.new(name: 'Double')
         | 
| 80 83 | 
             
                Double0To1 = Shapes::FloatShape.new(name: 'Double0To1')
         | 
| 84 | 
            +
                EmailList = Shapes::ListShape.new(name: 'EmailList')
         | 
| 81 85 | 
             
                EventStreamDestinationDetails = Shapes::StructureShape.new(name: 'EventStreamDestinationDetails')
         | 
| 82 86 | 
             
                EventStreamDestinationStatus = Shapes::StringShape.new(name: 'EventStreamDestinationStatus')
         | 
| 83 87 | 
             
                EventStreamState = Shapes::StringShape.new(name: 'EventStreamState')
         | 
| @@ -114,6 +118,8 @@ module Aws::CustomerProfiles | |
| 114 118 | 
             
                GetProfileObjectTypeResponse = Shapes::StructureShape.new(name: 'GetProfileObjectTypeResponse')
         | 
| 115 119 | 
             
                GetProfileObjectTypeTemplateRequest = Shapes::StructureShape.new(name: 'GetProfileObjectTypeTemplateRequest')
         | 
| 116 120 | 
             
                GetProfileObjectTypeTemplateResponse = Shapes::StructureShape.new(name: 'GetProfileObjectTypeTemplateResponse')
         | 
| 121 | 
            +
                GetSimilarProfilesRequest = Shapes::StructureShape.new(name: 'GetSimilarProfilesRequest')
         | 
| 122 | 
            +
                GetSimilarProfilesResponse = Shapes::StructureShape.new(name: 'GetSimilarProfilesResponse')
         | 
| 117 123 | 
             
                GetWorkflowRequest = Shapes::StructureShape.new(name: 'GetWorkflowRequest')
         | 
| 118 124 | 
             
                GetWorkflowResponse = Shapes::StructureShape.new(name: 'GetWorkflowResponse')
         | 
| 119 125 | 
             
                GetWorkflowStepsRequest = Shapes::StructureShape.new(name: 'GetWorkflowStepsRequest')
         | 
| @@ -158,6 +164,8 @@ module Aws::CustomerProfiles | |
| 158 164 | 
             
                ListProfileObjectsItem = Shapes::StructureShape.new(name: 'ListProfileObjectsItem')
         | 
| 159 165 | 
             
                ListProfileObjectsRequest = Shapes::StructureShape.new(name: 'ListProfileObjectsRequest')
         | 
| 160 166 | 
             
                ListProfileObjectsResponse = Shapes::StructureShape.new(name: 'ListProfileObjectsResponse')
         | 
| 167 | 
            +
                ListRuleBasedMatchesRequest = Shapes::StructureShape.new(name: 'ListRuleBasedMatchesRequest')
         | 
| 168 | 
            +
                ListRuleBasedMatchesResponse = Shapes::StructureShape.new(name: 'ListRuleBasedMatchesResponse')
         | 
| 161 169 | 
             
                ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
         | 
| 162 170 | 
             
                ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
         | 
| 163 171 | 
             
                ListWorkflowsItem = Shapes::StructureShape.new(name: 'ListWorkflowsItem')
         | 
| @@ -165,12 +173,19 @@ module Aws::CustomerProfiles | |
| 165 173 | 
             
                ListWorkflowsResponse = Shapes::StructureShape.new(name: 'ListWorkflowsResponse')
         | 
| 166 174 | 
             
                MarketoConnectorOperator = Shapes::StringShape.new(name: 'MarketoConnectorOperator')
         | 
| 167 175 | 
             
                MarketoSourceProperties = Shapes::StructureShape.new(name: 'MarketoSourceProperties')
         | 
| 176 | 
            +
                MatchIdList = Shapes::ListShape.new(name: 'MatchIdList')
         | 
| 168 177 | 
             
                MatchItem = Shapes::StructureShape.new(name: 'MatchItem')
         | 
| 178 | 
            +
                MatchType = Shapes::StringShape.new(name: 'MatchType')
         | 
| 169 179 | 
             
                MatchesList = Shapes::ListShape.new(name: 'MatchesList')
         | 
| 170 180 | 
             
                MatchingAttributes = Shapes::ListShape.new(name: 'MatchingAttributes')
         | 
| 171 181 | 
             
                MatchingAttributesList = Shapes::ListShape.new(name: 'MatchingAttributesList')
         | 
| 172 182 | 
             
                MatchingRequest = Shapes::StructureShape.new(name: 'MatchingRequest')
         | 
| 173 183 | 
             
                MatchingResponse = Shapes::StructureShape.new(name: 'MatchingResponse')
         | 
| 184 | 
            +
                MatchingRule = Shapes::StructureShape.new(name: 'MatchingRule')
         | 
| 185 | 
            +
                MatchingRuleAttributeList = Shapes::ListShape.new(name: 'MatchingRuleAttributeList')
         | 
| 186 | 
            +
                MatchingRules = Shapes::ListShape.new(name: 'MatchingRules')
         | 
| 187 | 
            +
                MaxAllowedRuleLevelForMatching = Shapes::IntegerShape.new(name: 'MaxAllowedRuleLevelForMatching')
         | 
| 188 | 
            +
                MaxAllowedRuleLevelForMerging = Shapes::IntegerShape.new(name: 'MaxAllowedRuleLevelForMerging')
         | 
| 174 189 | 
             
                MergeProfilesRequest = Shapes::StructureShape.new(name: 'MergeProfilesRequest')
         | 
| 175 190 | 
             
                MergeProfilesResponse = Shapes::StructureShape.new(name: 'MergeProfilesResponse')
         | 
| 176 191 | 
             
                Object = Shapes::StringShape.new(name: 'Object')
         | 
| @@ -183,6 +198,7 @@ module Aws::CustomerProfiles | |
| 183 198 | 
             
                Operator = Shapes::StringShape.new(name: 'Operator')
         | 
| 184 199 | 
             
                OperatorPropertiesKeys = Shapes::StringShape.new(name: 'OperatorPropertiesKeys')
         | 
| 185 200 | 
             
                PartyType = Shapes::StringShape.new(name: 'PartyType')
         | 
| 201 | 
            +
                PhoneNumberList = Shapes::ListShape.new(name: 'PhoneNumberList')
         | 
| 186 202 | 
             
                Profile = Shapes::StructureShape.new(name: 'Profile')
         | 
| 187 203 | 
             
                ProfileIdList = Shapes::ListShape.new(name: 'ProfileIdList')
         | 
| 188 204 | 
             
                ProfileIdToBeMergedList = Shapes::ListShape.new(name: 'ProfileIdToBeMergedList')
         | 
| @@ -200,6 +216,10 @@ module Aws::CustomerProfiles | |
| 200 216 | 
             
                Range = Shapes::StructureShape.new(name: 'Range')
         | 
| 201 217 | 
             
                ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
         | 
| 202 218 | 
             
                RoleArn = Shapes::StringShape.new(name: 'RoleArn')
         | 
| 219 | 
            +
                RuleBasedMatchingRequest = Shapes::StructureShape.new(name: 'RuleBasedMatchingRequest')
         | 
| 220 | 
            +
                RuleBasedMatchingResponse = Shapes::StructureShape.new(name: 'RuleBasedMatchingResponse')
         | 
| 221 | 
            +
                RuleBasedMatchingStatus = Shapes::StringShape.new(name: 'RuleBasedMatchingStatus')
         | 
| 222 | 
            +
                RuleLevel = Shapes::IntegerShape.new(name: 'RuleLevel')
         | 
| 203 223 | 
             
                S3ConnectorOperator = Shapes::StringShape.new(name: 'S3ConnectorOperator')
         | 
| 204 224 | 
             
                S3ExportingConfig = Shapes::StructureShape.new(name: 'S3ExportingConfig')
         | 
| 205 225 | 
             
                S3ExportingLocation = Shapes::StructureShape.new(name: 'S3ExportingLocation')
         | 
| @@ -318,6 +338,8 @@ module Aws::CustomerProfiles | |
| 318 338 | 
             
                Address.add_member(:postal_code, Shapes::ShapeRef.new(shape: string1To255, location_name: "PostalCode"))
         | 
| 319 339 | 
             
                Address.struct_class = Types::Address
         | 
| 320 340 |  | 
| 341 | 
            +
                AddressList.member = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 342 | 
            +
             | 
| 321 343 | 
             
                AppflowIntegration.add_member(:flow_definition, Shapes::ShapeRef.new(shape: FlowDefinition, required: true, location_name: "FlowDefinition"))
         | 
| 322 344 | 
             
                AppflowIntegration.add_member(:batches, Shapes::ShapeRef.new(shape: Batches, location_name: "Batches"))
         | 
| 323 345 | 
             
                AppflowIntegration.struct_class = Types::AppflowIntegration
         | 
| @@ -354,6 +376,12 @@ module Aws::CustomerProfiles | |
| 354 376 | 
             
                AttributeSourceIdMap.key = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 355 377 | 
             
                AttributeSourceIdMap.value = Shapes::ShapeRef.new(shape: uuid)
         | 
| 356 378 |  | 
| 379 | 
            +
                AttributeTypesSelector.add_member(:attribute_matching_model, Shapes::ShapeRef.new(shape: AttributeMatchingModel, required: true, location_name: "AttributeMatchingModel"))
         | 
| 380 | 
            +
                AttributeTypesSelector.add_member(:address, Shapes::ShapeRef.new(shape: AddressList, location_name: "Address"))
         | 
| 381 | 
            +
                AttributeTypesSelector.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumberList, location_name: "PhoneNumber"))
         | 
| 382 | 
            +
                AttributeTypesSelector.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailList, location_name: "EmailAddress"))
         | 
| 383 | 
            +
                AttributeTypesSelector.struct_class = Types::AttributeTypesSelector
         | 
| 384 | 
            +
             | 
| 357 385 | 
             
                Attributes.key = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 358 386 | 
             
                Attributes.value = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 359 387 |  | 
| @@ -421,6 +449,7 @@ module Aws::CustomerProfiles | |
| 421 449 | 
             
                CreateDomainRequest.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
         | 
| 422 450 | 
             
                CreateDomainRequest.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
         | 
| 423 451 | 
             
                CreateDomainRequest.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingRequest, location_name: "Matching"))
         | 
| 452 | 
            +
                CreateDomainRequest.add_member(:rule_based_matching, Shapes::ShapeRef.new(shape: RuleBasedMatchingRequest, location_name: "RuleBasedMatching"))
         | 
| 424 453 | 
             
                CreateDomainRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
         | 
| 425 454 | 
             
                CreateDomainRequest.struct_class = Types::CreateDomainRequest
         | 
| 426 455 |  | 
| @@ -429,6 +458,7 @@ module Aws::CustomerProfiles | |
| 429 458 | 
             
                CreateDomainResponse.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
         | 
| 430 459 | 
             
                CreateDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
         | 
| 431 460 | 
             
                CreateDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
         | 
| 461 | 
            +
                CreateDomainResponse.add_member(:rule_based_matching, Shapes::ShapeRef.new(shape: RuleBasedMatchingResponse, location_name: "RuleBasedMatching"))
         | 
| 432 462 | 
             
                CreateDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
         | 
| 433 463 | 
             
                CreateDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
         | 
| 434 464 | 
             
                CreateDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
         | 
| @@ -561,6 +591,8 @@ module Aws::CustomerProfiles | |
| 561 591 | 
             
                DomainStats.add_member(:total_size, Shapes::ShapeRef.new(shape: long, location_name: "TotalSize"))
         | 
| 562 592 | 
             
                DomainStats.struct_class = Types::DomainStats
         | 
| 563 593 |  | 
| 594 | 
            +
                EmailList.member = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 595 | 
            +
             | 
| 564 596 | 
             
                EventStreamDestinationDetails.add_member(:uri, Shapes::ShapeRef.new(shape: string1To255, required: true, location_name: "Uri"))
         | 
| 565 597 | 
             
                EventStreamDestinationDetails.add_member(:status, Shapes::ShapeRef.new(shape: EventStreamDestinationStatus, required: true, location_name: "Status"))
         | 
| 566 598 | 
             
                EventStreamDestinationDetails.add_member(:unhealthy_since, Shapes::ShapeRef.new(shape: timestamp, location_name: "UnhealthySince"))
         | 
| @@ -671,6 +703,7 @@ module Aws::CustomerProfiles | |
| 671 703 | 
             
                GetDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
         | 
| 672 704 | 
             
                GetDomainResponse.add_member(:stats, Shapes::ShapeRef.new(shape: DomainStats, location_name: "Stats"))
         | 
| 673 705 | 
             
                GetDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
         | 
| 706 | 
            +
                GetDomainResponse.add_member(:rule_based_matching, Shapes::ShapeRef.new(shape: RuleBasedMatchingResponse, location_name: "RuleBasedMatching"))
         | 
| 674 707 | 
             
                GetDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
         | 
| 675 708 | 
             
                GetDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
         | 
| 676 709 | 
             
                GetDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
         | 
| @@ -762,6 +795,22 @@ module Aws::CustomerProfiles | |
| 762 795 | 
             
                GetProfileObjectTypeTemplateResponse.add_member(:keys, Shapes::ShapeRef.new(shape: KeyMap, location_name: "Keys"))
         | 
| 763 796 | 
             
                GetProfileObjectTypeTemplateResponse.struct_class = Types::GetProfileObjectTypeTemplateResponse
         | 
| 764 797 |  | 
| 798 | 
            +
                GetSimilarProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location: "querystring", location_name: "next-token"))
         | 
| 799 | 
            +
                GetSimilarProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: maxSize100, location: "querystring", location_name: "max-results"))
         | 
| 800 | 
            +
                GetSimilarProfilesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
         | 
| 801 | 
            +
                GetSimilarProfilesRequest.add_member(:match_type, Shapes::ShapeRef.new(shape: MatchType, required: true, location_name: "MatchType"))
         | 
| 802 | 
            +
                GetSimilarProfilesRequest.add_member(:search_key, Shapes::ShapeRef.new(shape: string1To255, required: true, location_name: "SearchKey"))
         | 
| 803 | 
            +
                GetSimilarProfilesRequest.add_member(:search_value, Shapes::ShapeRef.new(shape: string1To255, required: true, location_name: "SearchValue"))
         | 
| 804 | 
            +
                GetSimilarProfilesRequest.struct_class = Types::GetSimilarProfilesRequest
         | 
| 805 | 
            +
             | 
| 806 | 
            +
                GetSimilarProfilesResponse.add_member(:profile_ids, Shapes::ShapeRef.new(shape: ProfileIdList, location_name: "ProfileIds"))
         | 
| 807 | 
            +
                GetSimilarProfilesResponse.add_member(:match_id, Shapes::ShapeRef.new(shape: string1To255, location_name: "MatchId"))
         | 
| 808 | 
            +
                GetSimilarProfilesResponse.add_member(:match_type, Shapes::ShapeRef.new(shape: MatchType, location_name: "MatchType"))
         | 
| 809 | 
            +
                GetSimilarProfilesResponse.add_member(:rule_level, Shapes::ShapeRef.new(shape: RuleLevel, location_name: "RuleLevel"))
         | 
| 810 | 
            +
                GetSimilarProfilesResponse.add_member(:confidence_score, Shapes::ShapeRef.new(shape: Double, location_name: "ConfidenceScore"))
         | 
| 811 | 
            +
                GetSimilarProfilesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location_name: "NextToken"))
         | 
| 812 | 
            +
                GetSimilarProfilesResponse.struct_class = Types::GetSimilarProfilesResponse
         | 
| 813 | 
            +
             | 
| 765 814 | 
             
                GetWorkflowRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
         | 
| 766 815 | 
             
                GetWorkflowRequest.add_member(:workflow_id, Shapes::ShapeRef.new(shape: uuid, required: true, location: "uri", location_name: "WorkflowId"))
         | 
| 767 816 | 
             
                GetWorkflowRequest.struct_class = Types::GetWorkflowRequest
         | 
| @@ -965,6 +1014,15 @@ module Aws::CustomerProfiles | |
| 965 1014 | 
             
                ListProfileObjectsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location_name: "NextToken"))
         | 
| 966 1015 | 
             
                ListProfileObjectsResponse.struct_class = Types::ListProfileObjectsResponse
         | 
| 967 1016 |  | 
| 1017 | 
            +
                ListRuleBasedMatchesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location: "querystring", location_name: "next-token"))
         | 
| 1018 | 
            +
                ListRuleBasedMatchesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: maxSize100, location: "querystring", location_name: "max-results"))
         | 
| 1019 | 
            +
                ListRuleBasedMatchesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
         | 
| 1020 | 
            +
                ListRuleBasedMatchesRequest.struct_class = Types::ListRuleBasedMatchesRequest
         | 
| 1021 | 
            +
             | 
| 1022 | 
            +
                ListRuleBasedMatchesResponse.add_member(:match_ids, Shapes::ShapeRef.new(shape: MatchIdList, location_name: "MatchIds"))
         | 
| 1023 | 
            +
                ListRuleBasedMatchesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: token, location_name: "NextToken"))
         | 
| 1024 | 
            +
                ListRuleBasedMatchesResponse.struct_class = Types::ListRuleBasedMatchesResponse
         | 
| 1025 | 
            +
             | 
| 968 1026 | 
             
                ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: TagArn, required: true, location: "uri", location_name: "resourceArn"))
         | 
| 969 1027 | 
             
                ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
         | 
| 970 1028 |  | 
| @@ -995,6 +1053,8 @@ module Aws::CustomerProfiles | |
| 995 1053 | 
             
                MarketoSourceProperties.add_member(:object, Shapes::ShapeRef.new(shape: Object, required: true, location_name: "Object"))
         | 
| 996 1054 | 
             
                MarketoSourceProperties.struct_class = Types::MarketoSourceProperties
         | 
| 997 1055 |  | 
| 1056 | 
            +
                MatchIdList.member = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 1057 | 
            +
             | 
| 998 1058 | 
             
                MatchItem.add_member(:match_id, Shapes::ShapeRef.new(shape: string1To255, location_name: "MatchId"))
         | 
| 999 1059 | 
             
                MatchItem.add_member(:profile_ids, Shapes::ShapeRef.new(shape: ProfileIdList, location_name: "ProfileIds"))
         | 
| 1000 1060 | 
             
                MatchItem.add_member(:confidence_score, Shapes::ShapeRef.new(shape: Double, location_name: "ConfidenceScore"))
         | 
| @@ -1018,6 +1078,13 @@ module Aws::CustomerProfiles | |
| 1018 1078 | 
             
                MatchingResponse.add_member(:exporting_config, Shapes::ShapeRef.new(shape: ExportingConfig, location_name: "ExportingConfig"))
         | 
| 1019 1079 | 
             
                MatchingResponse.struct_class = Types::MatchingResponse
         | 
| 1020 1080 |  | 
| 1081 | 
            +
                MatchingRule.add_member(:rule, Shapes::ShapeRef.new(shape: MatchingRuleAttributeList, required: true, location_name: "Rule"))
         | 
| 1082 | 
            +
                MatchingRule.struct_class = Types::MatchingRule
         | 
| 1083 | 
            +
             | 
| 1084 | 
            +
                MatchingRuleAttributeList.member = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 1085 | 
            +
             | 
| 1086 | 
            +
                MatchingRules.member = Shapes::ShapeRef.new(shape: MatchingRule)
         | 
| 1087 | 
            +
             | 
| 1021 1088 | 
             
                MergeProfilesRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
         | 
| 1022 1089 | 
             
                MergeProfilesRequest.add_member(:main_profile_id, Shapes::ShapeRef.new(shape: uuid, required: true, location_name: "MainProfileId"))
         | 
| 1023 1090 | 
             
                MergeProfilesRequest.add_member(:profile_ids_to_be_merged, Shapes::ShapeRef.new(shape: ProfileIdToBeMergedList, required: true, location_name: "ProfileIdsToBeMerged"))
         | 
| @@ -1045,6 +1112,8 @@ module Aws::CustomerProfiles | |
| 1045 1112 | 
             
                ObjectTypeNames.key = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 1046 1113 | 
             
                ObjectTypeNames.value = Shapes::ShapeRef.new(shape: typeName)
         | 
| 1047 1114 |  | 
| 1115 | 
            +
                PhoneNumberList.member = Shapes::ShapeRef.new(shape: string1To255)
         | 
| 1116 | 
            +
             | 
| 1048 1117 | 
             
                Profile.add_member(:profile_id, Shapes::ShapeRef.new(shape: uuid, location_name: "ProfileId"))
         | 
| 1049 1118 | 
             
                Profile.add_member(:account_number, Shapes::ShapeRef.new(shape: string1To255, location_name: "AccountNumber"))
         | 
| 1050 1119 | 
             
                Profile.add_member(:additional_information, Shapes::ShapeRef.new(shape: string1To1000, location_name: "AdditionalInformation"))
         | 
| @@ -1145,6 +1214,25 @@ module Aws::CustomerProfiles | |
| 1145 1214 | 
             
                ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: message, location_name: "Message"))
         | 
| 1146 1215 | 
             
                ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
         | 
| 1147 1216 |  | 
| 1217 | 
            +
                RuleBasedMatchingRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: optionalBoolean, required: true, location_name: "Enabled"))
         | 
| 1218 | 
            +
                RuleBasedMatchingRequest.add_member(:matching_rules, Shapes::ShapeRef.new(shape: MatchingRules, location_name: "MatchingRules"))
         | 
| 1219 | 
            +
                RuleBasedMatchingRequest.add_member(:max_allowed_rule_level_for_merging, Shapes::ShapeRef.new(shape: MaxAllowedRuleLevelForMerging, location_name: "MaxAllowedRuleLevelForMerging"))
         | 
| 1220 | 
            +
                RuleBasedMatchingRequest.add_member(:max_allowed_rule_level_for_matching, Shapes::ShapeRef.new(shape: MaxAllowedRuleLevelForMatching, location_name: "MaxAllowedRuleLevelForMatching"))
         | 
| 1221 | 
            +
                RuleBasedMatchingRequest.add_member(:attribute_types_selector, Shapes::ShapeRef.new(shape: AttributeTypesSelector, location_name: "AttributeTypesSelector"))
         | 
| 1222 | 
            +
                RuleBasedMatchingRequest.add_member(:conflict_resolution, Shapes::ShapeRef.new(shape: ConflictResolution, location_name: "ConflictResolution"))
         | 
| 1223 | 
            +
                RuleBasedMatchingRequest.add_member(:exporting_config, Shapes::ShapeRef.new(shape: ExportingConfig, location_name: "ExportingConfig"))
         | 
| 1224 | 
            +
                RuleBasedMatchingRequest.struct_class = Types::RuleBasedMatchingRequest
         | 
| 1225 | 
            +
             | 
| 1226 | 
            +
                RuleBasedMatchingResponse.add_member(:enabled, Shapes::ShapeRef.new(shape: optionalBoolean, location_name: "Enabled"))
         | 
| 1227 | 
            +
                RuleBasedMatchingResponse.add_member(:matching_rules, Shapes::ShapeRef.new(shape: MatchingRules, location_name: "MatchingRules"))
         | 
| 1228 | 
            +
                RuleBasedMatchingResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleBasedMatchingStatus, location_name: "Status"))
         | 
| 1229 | 
            +
                RuleBasedMatchingResponse.add_member(:max_allowed_rule_level_for_merging, Shapes::ShapeRef.new(shape: MaxAllowedRuleLevelForMerging, location_name: "MaxAllowedRuleLevelForMerging"))
         | 
| 1230 | 
            +
                RuleBasedMatchingResponse.add_member(:max_allowed_rule_level_for_matching, Shapes::ShapeRef.new(shape: MaxAllowedRuleLevelForMatching, location_name: "MaxAllowedRuleLevelForMatching"))
         | 
| 1231 | 
            +
                RuleBasedMatchingResponse.add_member(:attribute_types_selector, Shapes::ShapeRef.new(shape: AttributeTypesSelector, location_name: "AttributeTypesSelector"))
         | 
| 1232 | 
            +
                RuleBasedMatchingResponse.add_member(:conflict_resolution, Shapes::ShapeRef.new(shape: ConflictResolution, location_name: "ConflictResolution"))
         | 
| 1233 | 
            +
                RuleBasedMatchingResponse.add_member(:exporting_config, Shapes::ShapeRef.new(shape: ExportingConfig, location_name: "ExportingConfig"))
         | 
| 1234 | 
            +
                RuleBasedMatchingResponse.struct_class = Types::RuleBasedMatchingResponse
         | 
| 1235 | 
            +
             | 
| 1148 1236 | 
             
                S3ExportingConfig.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: s3BucketName, required: true, location_name: "S3BucketName"))
         | 
| 1149 1237 | 
             
                S3ExportingConfig.add_member(:s3_key_name, Shapes::ShapeRef.new(shape: s3KeyNameCustomerOutputConfig, location_name: "S3KeyName"))
         | 
| 1150 1238 | 
             
                S3ExportingConfig.struct_class = Types::S3ExportingConfig
         | 
| @@ -1285,6 +1373,7 @@ module Aws::CustomerProfiles | |
| 1285 1373 | 
             
                UpdateDomainRequest.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
         | 
| 1286 1374 | 
             
                UpdateDomainRequest.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
         | 
| 1287 1375 | 
             
                UpdateDomainRequest.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingRequest, location_name: "Matching"))
         | 
| 1376 | 
            +
                UpdateDomainRequest.add_member(:rule_based_matching, Shapes::ShapeRef.new(shape: RuleBasedMatchingRequest, location_name: "RuleBasedMatching"))
         | 
| 1288 1377 | 
             
                UpdateDomainRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
         | 
| 1289 1378 | 
             
                UpdateDomainRequest.struct_class = Types::UpdateDomainRequest
         | 
| 1290 1379 |  | 
| @@ -1293,6 +1382,7 @@ module Aws::CustomerProfiles | |
| 1293 1382 | 
             
                UpdateDomainResponse.add_member(:default_encryption_key, Shapes::ShapeRef.new(shape: encryptionKey, location_name: "DefaultEncryptionKey"))
         | 
| 1294 1383 | 
             
                UpdateDomainResponse.add_member(:dead_letter_queue_url, Shapes::ShapeRef.new(shape: sqsQueueUrl, location_name: "DeadLetterQueueUrl"))
         | 
| 1295 1384 | 
             
                UpdateDomainResponse.add_member(:matching, Shapes::ShapeRef.new(shape: MatchingResponse, location_name: "Matching"))
         | 
| 1385 | 
            +
                UpdateDomainResponse.add_member(:rule_based_matching, Shapes::ShapeRef.new(shape: RuleBasedMatchingResponse, location_name: "RuleBasedMatching"))
         | 
| 1296 1386 | 
             
                UpdateDomainResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "CreatedAt"))
         | 
| 1297 1387 | 
             
                UpdateDomainResponse.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, required: true, location_name: "LastUpdatedAt"))
         | 
| 1298 1388 | 
             
                UpdateDomainResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
         | 
| @@ -1694,6 +1784,19 @@ module Aws::CustomerProfiles | |
| 1694 1784 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 1695 1785 | 
             
                  end)
         | 
| 1696 1786 |  | 
| 1787 | 
            +
                  api.add_operation(:get_similar_profiles, Seahorse::Model::Operation.new.tap do |o|
         | 
| 1788 | 
            +
                    o.name = "GetSimilarProfiles"
         | 
| 1789 | 
            +
                    o.http_method = "POST"
         | 
| 1790 | 
            +
                    o.http_request_uri = "/domains/{DomainName}/matches"
         | 
| 1791 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: GetSimilarProfilesRequest)
         | 
| 1792 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: GetSimilarProfilesResponse)
         | 
| 1793 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
         | 
| 1794 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         | 
| 1795 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 1796 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
         | 
| 1797 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 1798 | 
            +
                  end)
         | 
| 1799 | 
            +
             | 
| 1697 1800 | 
             
                  api.add_operation(:get_workflow, Seahorse::Model::Operation.new.tap do |o|
         | 
| 1698 1801 | 
             
                    o.name = "GetWorkflow"
         | 
| 1699 1802 | 
             
                    o.http_method = "GET"
         | 
| @@ -1856,6 +1959,19 @@ module Aws::CustomerProfiles | |
| 1856 1959 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 1857 1960 | 
             
                  end)
         | 
| 1858 1961 |  | 
| 1962 | 
            +
                  api.add_operation(:list_rule_based_matches, Seahorse::Model::Operation.new.tap do |o|
         | 
| 1963 | 
            +
                    o.name = "ListRuleBasedMatches"
         | 
| 1964 | 
            +
                    o.http_method = "GET"
         | 
| 1965 | 
            +
                    o.http_request_uri = "/domains/{DomainName}/profiles/ruleBasedMatches"
         | 
| 1966 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: ListRuleBasedMatchesRequest)
         | 
| 1967 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: ListRuleBasedMatchesResponse)
         | 
| 1968 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
         | 
| 1969 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         | 
| 1970 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 1971 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
         | 
| 1972 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 1973 | 
            +
                  end)
         | 
| 1974 | 
            +
             | 
| 1859 1975 | 
             
                  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
         | 
| 1860 1976 | 
             
                    o.name = "ListTagsForResource"
         | 
| 1861 1977 | 
             
                    o.http_method = "GET"
         | 
| @@ -362,6 +362,20 @@ module Aws::CustomerProfiles | |
| 362 362 | 
             
                  end
         | 
| 363 363 | 
             
                end
         | 
| 364 364 |  | 
| 365 | 
            +
                class GetSimilarProfiles
         | 
| 366 | 
            +
                  def self.build(context)
         | 
| 367 | 
            +
                    unless context.config.regional_endpoint
         | 
| 368 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 369 | 
            +
                    end
         | 
| 370 | 
            +
                    Aws::CustomerProfiles::EndpointParameters.new(
         | 
| 371 | 
            +
                      region: context.config.region,
         | 
| 372 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 373 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 374 | 
            +
                      endpoint: endpoint,
         | 
| 375 | 
            +
                    )
         | 
| 376 | 
            +
                  end
         | 
| 377 | 
            +
                end
         | 
| 378 | 
            +
             | 
| 365 379 | 
             
                class GetWorkflow
         | 
| 366 380 | 
             
                  def self.build(context)
         | 
| 367 381 | 
             
                    unless context.config.regional_endpoint
         | 
| @@ -530,6 +544,20 @@ module Aws::CustomerProfiles | |
| 530 544 | 
             
                  end
         | 
| 531 545 | 
             
                end
         | 
| 532 546 |  | 
| 547 | 
            +
                class ListRuleBasedMatches
         | 
| 548 | 
            +
                  def self.build(context)
         | 
| 549 | 
            +
                    unless context.config.regional_endpoint
         | 
| 550 | 
            +
                      endpoint = context.config.endpoint.to_s
         | 
| 551 | 
            +
                    end
         | 
| 552 | 
            +
                    Aws::CustomerProfiles::EndpointParameters.new(
         | 
| 553 | 
            +
                      region: context.config.region,
         | 
| 554 | 
            +
                      use_dual_stack: context.config.use_dualstack_endpoint,
         | 
| 555 | 
            +
                      use_fips: context.config.use_fips_endpoint,
         | 
| 556 | 
            +
                      endpoint: endpoint,
         | 
| 557 | 
            +
                    )
         | 
| 558 | 
            +
                  end
         | 
| 559 | 
            +
                end
         | 
| 560 | 
            +
             | 
| 533 561 | 
             
                class ListTagsForResource
         | 
| 534 562 | 
             
                  def self.build(context)
         | 
| 535 563 | 
             
                    unless context.config.regional_endpoint
         | 
| @@ -106,6 +106,8 @@ module Aws::CustomerProfiles | |
| 106 106 | 
             
                        Aws::CustomerProfiles::Endpoints::GetProfileObjectType.build(context)
         | 
| 107 107 | 
             
                      when :get_profile_object_type_template
         | 
| 108 108 | 
             
                        Aws::CustomerProfiles::Endpoints::GetProfileObjectTypeTemplate.build(context)
         | 
| 109 | 
            +
                      when :get_similar_profiles
         | 
| 110 | 
            +
                        Aws::CustomerProfiles::Endpoints::GetSimilarProfiles.build(context)
         | 
| 109 111 | 
             
                      when :get_workflow
         | 
| 110 112 | 
             
                        Aws::CustomerProfiles::Endpoints::GetWorkflow.build(context)
         | 
| 111 113 | 
             
                      when :get_workflow_steps
         | 
| @@ -130,6 +132,8 @@ module Aws::CustomerProfiles | |
| 130 132 | 
             
                        Aws::CustomerProfiles::Endpoints::ListProfileObjectTypes.build(context)
         | 
| 131 133 | 
             
                      when :list_profile_objects
         | 
| 132 134 | 
             
                        Aws::CustomerProfiles::Endpoints::ListProfileObjects.build(context)
         | 
| 135 | 
            +
                      when :list_rule_based_matches
         | 
| 136 | 
            +
                        Aws::CustomerProfiles::Endpoints::ListRuleBasedMatches.build(context)
         | 
| 133 137 | 
             
                      when :list_tags_for_resource
         | 
| 134 138 | 
             
                        Aws::CustomerProfiles::Endpoints::ListTagsForResource.build(context)
         | 
| 135 139 | 
             
                      when :list_workflows
         | 
| @@ -329,6 +329,92 @@ module Aws::CustomerProfiles | |
| 329 329 | 
             
                  include Aws::Structure
         | 
| 330 330 | 
             
                end
         | 
| 331 331 |  | 
| 332 | 
            +
                # Configuration information about the `AttributeTypesSelector `where the
         | 
| 333 | 
            +
                # rule-based identity resolution uses to match profiles. You can choose
         | 
| 334 | 
            +
                # how profiles are compared across attribute types and which attribute
         | 
| 335 | 
            +
                # to use for matching from each type. There are three attribute types
         | 
| 336 | 
            +
                # you can configure:
         | 
| 337 | 
            +
                #
         | 
| 338 | 
            +
                # * Email type
         | 
| 339 | 
            +
                #
         | 
| 340 | 
            +
                #   * You can choose from `Email`, `BusinessEmail`, and `PersonalEmail`
         | 
| 341 | 
            +
                #
         | 
| 342 | 
            +
                #   ^
         | 
| 343 | 
            +
                #
         | 
| 344 | 
            +
                # * Phone number type
         | 
| 345 | 
            +
                #
         | 
| 346 | 
            +
                #   * You can choose from `Phone`, `HomePhone`, and `MobilePhone`
         | 
| 347 | 
            +
                #
         | 
| 348 | 
            +
                #   ^
         | 
| 349 | 
            +
                #
         | 
| 350 | 
            +
                # * Address type
         | 
| 351 | 
            +
                #
         | 
| 352 | 
            +
                #   * You can choose from `Address`, `BusinessAddress`,
         | 
| 353 | 
            +
                #     `MaillingAddress`, and `ShippingAddress`
         | 
| 354 | 
            +
                #
         | 
| 355 | 
            +
                #   ^
         | 
| 356 | 
            +
                #
         | 
| 357 | 
            +
                # You can either choose `ONE_TO_ONE` or `MANY_TO_MANY` as the
         | 
| 358 | 
            +
                # `AttributeMatchingModel`. When choosing `MANY_TO_MANY`, the system can
         | 
| 359 | 
            +
                # match attribute across the sub-types of an attribute type. For
         | 
| 360 | 
            +
                # example, if the value of the `Email` field of Profile A and the value
         | 
| 361 | 
            +
                # of `BusinessEmail` field of Profile B matches, the two profiles are
         | 
| 362 | 
            +
                # matched on the Email type. When choosing `ONE_TO_ONE` the system can
         | 
| 363 | 
            +
                # only match if the sub-types are exact matches. For example, only when
         | 
| 364 | 
            +
                # the value of the `Email` field of Profile A and the value of the
         | 
| 365 | 
            +
                # `Email` field of Profile B matches, the two profiles are matched on
         | 
| 366 | 
            +
                # the Email type.
         | 
| 367 | 
            +
                #
         | 
| 368 | 
            +
                # @!attribute [rw] attribute_matching_model
         | 
| 369 | 
            +
                #   Configures the `AttributeMatchingModel`, you can either choose
         | 
| 370 | 
            +
                #   `ONE_TO_ONE` or `MANY_TO_MANY`.
         | 
| 371 | 
            +
                #   @return [String]
         | 
| 372 | 
            +
                #
         | 
| 373 | 
            +
                # @!attribute [rw] address
         | 
| 374 | 
            +
                #   The `Address` type. You can choose from `Address`,
         | 
| 375 | 
            +
                #   `BusinessAddress`, `MaillingAddress`, and `ShippingAddress`.
         | 
| 376 | 
            +
                #
         | 
| 377 | 
            +
                #   You only can use the Address type in the `MatchingRule`. For
         | 
| 378 | 
            +
                #   example, if you want to match profile based on
         | 
| 379 | 
            +
                #   `BusinessAddress.City` or `MaillingAddress.City`, you need to choose
         | 
| 380 | 
            +
                #   the `BusinessAddress` and the `MaillingAddress` to represent the
         | 
| 381 | 
            +
                #   Address type and specify the `Address.City` on the matching rule.
         | 
| 382 | 
            +
                #   @return [Array<String>]
         | 
| 383 | 
            +
                #
         | 
| 384 | 
            +
                # @!attribute [rw] phone_number
         | 
| 385 | 
            +
                #   The `PhoneNumber` type. You can choose from `PhoneNumber`,
         | 
| 386 | 
            +
                #   `HomePhoneNumber`, and `MobilePhoneNumber`.
         | 
| 387 | 
            +
                #
         | 
| 388 | 
            +
                #   You only can use the `PhoneNumber` type in the `MatchingRule`. For
         | 
| 389 | 
            +
                #   example, if you want to match a profile based on `Phone` or
         | 
| 390 | 
            +
                #   `HomePhone`, you need to choose the `Phone` and the `HomePhone` to
         | 
| 391 | 
            +
                #   represent the `PhoneNumber` type and only specify the `PhoneNumber`
         | 
| 392 | 
            +
                #   on the matching rule.
         | 
| 393 | 
            +
                #   @return [Array<String>]
         | 
| 394 | 
            +
                #
         | 
| 395 | 
            +
                # @!attribute [rw] email_address
         | 
| 396 | 
            +
                #   The `Email` type. You can choose from `EmailAddress`,
         | 
| 397 | 
            +
                #   `BusinessEmailAddress` and `PersonalEmailAddress`.
         | 
| 398 | 
            +
                #
         | 
| 399 | 
            +
                #   You only can use the `EmailAddress` type in the `MatchingRule`. For
         | 
| 400 | 
            +
                #   example, if you want to match profile based on
         | 
| 401 | 
            +
                #   `PersonalEmailAddress` or `BusinessEmailAddress`, you need to choose
         | 
| 402 | 
            +
                #   the `PersonalEmailAddress` and the `BusinessEmailAddress` to
         | 
| 403 | 
            +
                #   represent the `EmailAddress` type and only specify the
         | 
| 404 | 
            +
                #   `EmailAddress` on the matching rule.
         | 
| 405 | 
            +
                #   @return [Array<String>]
         | 
| 406 | 
            +
                #
         | 
| 407 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AttributeTypesSelector AWS API Documentation
         | 
| 408 | 
            +
                #
         | 
| 409 | 
            +
                class AttributeTypesSelector < Struct.new(
         | 
| 410 | 
            +
                  :attribute_matching_model,
         | 
| 411 | 
            +
                  :address,
         | 
| 412 | 
            +
                  :phone_number,
         | 
| 413 | 
            +
                  :email_address)
         | 
| 414 | 
            +
                  SENSITIVE = []
         | 
| 415 | 
            +
                  include Aws::Structure
         | 
| 416 | 
            +
                end
         | 
| 417 | 
            +
             | 
| 332 418 | 
             
                # Configuration settings for how to perform the auto-merging of
         | 
| 333 419 | 
             
                # profiles.
         | 
| 334 420 | 
             
                #
         | 
| @@ -654,6 +740,17 @@ module Aws::CustomerProfiles | |
| 654 740 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 655 741 | 
             
                #   @return [Types::MatchingRequest]
         | 
| 656 742 | 
             
                #
         | 
| 743 | 
            +
                # @!attribute [rw] rule_based_matching
         | 
| 744 | 
            +
                #   The process of matching duplicate profiles using the Rule-Based
         | 
| 745 | 
            +
                #   matching. If `RuleBasedMatching` = true, Amazon Connect Customer
         | 
| 746 | 
            +
                #   Profiles will start to match and merge your profiles according to
         | 
| 747 | 
            +
                #   your configuration in the `RuleBasedMatchingRequest`. You can use
         | 
| 748 | 
            +
                #   the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
         | 
| 749 | 
            +
                #   and review the results. Also, if you have configured
         | 
| 750 | 
            +
                #   `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
         | 
| 751 | 
            +
                #   download the results from S3.
         | 
| 752 | 
            +
                #   @return [Types::RuleBasedMatchingRequest]
         | 
| 753 | 
            +
                #
         | 
| 657 754 | 
             
                # @!attribute [rw] tags
         | 
| 658 755 | 
             
                #   The tags used to organize, track, or control access for this
         | 
| 659 756 | 
             
                #   resource.
         | 
| @@ -667,6 +764,7 @@ module Aws::CustomerProfiles | |
| 667 764 | 
             
                  :default_encryption_key,
         | 
| 668 765 | 
             
                  :dead_letter_queue_url,
         | 
| 669 766 | 
             
                  :matching,
         | 
| 767 | 
            +
                  :rule_based_matching,
         | 
| 670 768 | 
             
                  :tags)
         | 
| 671 769 | 
             
                  SENSITIVE = []
         | 
| 672 770 | 
             
                  include Aws::Structure
         | 
| @@ -709,6 +807,17 @@ module Aws::CustomerProfiles | |
| 709 807 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 710 808 | 
             
                #   @return [Types::MatchingResponse]
         | 
| 711 809 | 
             
                #
         | 
| 810 | 
            +
                # @!attribute [rw] rule_based_matching
         | 
| 811 | 
            +
                #   The process of matching duplicate profiles using the Rule-Based
         | 
| 812 | 
            +
                #   matching. If `RuleBasedMatching` = true, Amazon Connect Customer
         | 
| 813 | 
            +
                #   Profiles will start to match and merge your profiles according to
         | 
| 814 | 
            +
                #   your configuration in the `RuleBasedMatchingRequest`. You can use
         | 
| 815 | 
            +
                #   the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
         | 
| 816 | 
            +
                #   and review the results. Also, if you have configured
         | 
| 817 | 
            +
                #   `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
         | 
| 818 | 
            +
                #   download the results from S3.
         | 
| 819 | 
            +
                #   @return [Types::RuleBasedMatchingResponse]
         | 
| 820 | 
            +
                #
         | 
| 712 821 | 
             
                # @!attribute [rw] created_at
         | 
| 713 822 | 
             
                #   The timestamp of when the domain was created.
         | 
| 714 823 | 
             
                #   @return [Time]
         | 
| @@ -730,6 +839,7 @@ module Aws::CustomerProfiles | |
| 730 839 | 
             
                  :default_encryption_key,
         | 
| 731 840 | 
             
                  :dead_letter_queue_url,
         | 
| 732 841 | 
             
                  :matching,
         | 
| 842 | 
            +
                  :rule_based_matching,
         | 
| 733 843 | 
             
                  :created_at,
         | 
| 734 844 | 
             
                  :last_updated_at,
         | 
| 735 845 | 
             
                  :tags)
         | 
| @@ -1835,6 +1945,17 @@ module Aws::CustomerProfiles | |
| 1835 1945 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 1836 1946 | 
             
                #   @return [Types::MatchingResponse]
         | 
| 1837 1947 | 
             
                #
         | 
| 1948 | 
            +
                # @!attribute [rw] rule_based_matching
         | 
| 1949 | 
            +
                #   The process of matching duplicate profiles using the Rule-Based
         | 
| 1950 | 
            +
                #   matching. If `RuleBasedMatching` = true, Amazon Connect Customer
         | 
| 1951 | 
            +
                #   Profiles will start to match and merge your profiles according to
         | 
| 1952 | 
            +
                #   your configuration in the `RuleBasedMatchingRequest`. You can use
         | 
| 1953 | 
            +
                #   the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
         | 
| 1954 | 
            +
                #   and review the results. Also, if you have configured
         | 
| 1955 | 
            +
                #   `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
         | 
| 1956 | 
            +
                #   download the results from S3.
         | 
| 1957 | 
            +
                #   @return [Types::RuleBasedMatchingResponse]
         | 
| 1958 | 
            +
                #
         | 
| 1838 1959 | 
             
                # @!attribute [rw] created_at
         | 
| 1839 1960 | 
             
                #   The timestamp of when the domain was created.
         | 
| 1840 1961 | 
             
                #   @return [Time]
         | 
| @@ -1857,6 +1978,7 @@ module Aws::CustomerProfiles | |
| 1857 1978 | 
             
                  :dead_letter_queue_url,
         | 
| 1858 1979 | 
             
                  :stats,
         | 
| 1859 1980 | 
             
                  :matching,
         | 
| 1981 | 
            +
                  :rule_based_matching,
         | 
| 1860 1982 | 
             
                  :created_at,
         | 
| 1861 1983 | 
             
                  :last_updated_at,
         | 
| 1862 1984 | 
             
                  :tags)
         | 
| @@ -2312,6 +2434,91 @@ module Aws::CustomerProfiles | |
| 2312 2434 | 
             
                  include Aws::Structure
         | 
| 2313 2435 | 
             
                end
         | 
| 2314 2436 |  | 
| 2437 | 
            +
                # @!attribute [rw] next_token
         | 
| 2438 | 
            +
                #   The pagination token from the previous `GetSimilarProfiles` API
         | 
| 2439 | 
            +
                #   call.
         | 
| 2440 | 
            +
                #   @return [String]
         | 
| 2441 | 
            +
                #
         | 
| 2442 | 
            +
                # @!attribute [rw] max_results
         | 
| 2443 | 
            +
                #   The maximum number of objects returned per page.
         | 
| 2444 | 
            +
                #   @return [Integer]
         | 
| 2445 | 
            +
                #
         | 
| 2446 | 
            +
                # @!attribute [rw] domain_name
         | 
| 2447 | 
            +
                #   The unique name of the domain.
         | 
| 2448 | 
            +
                #   @return [String]
         | 
| 2449 | 
            +
                #
         | 
| 2450 | 
            +
                # @!attribute [rw] match_type
         | 
| 2451 | 
            +
                #   Specify the type of matching to get similar profiles for.
         | 
| 2452 | 
            +
                #   @return [String]
         | 
| 2453 | 
            +
                #
         | 
| 2454 | 
            +
                # @!attribute [rw] search_key
         | 
| 2455 | 
            +
                #   The string indicating the search key to be used.
         | 
| 2456 | 
            +
                #   @return [String]
         | 
| 2457 | 
            +
                #
         | 
| 2458 | 
            +
                # @!attribute [rw] search_value
         | 
| 2459 | 
            +
                #   The string based on `SearchKey` to be searched for similar profiles.
         | 
| 2460 | 
            +
                #   @return [String]
         | 
| 2461 | 
            +
                #
         | 
| 2462 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfilesRequest AWS API Documentation
         | 
| 2463 | 
            +
                #
         | 
| 2464 | 
            +
                class GetSimilarProfilesRequest < Struct.new(
         | 
| 2465 | 
            +
                  :next_token,
         | 
| 2466 | 
            +
                  :max_results,
         | 
| 2467 | 
            +
                  :domain_name,
         | 
| 2468 | 
            +
                  :match_type,
         | 
| 2469 | 
            +
                  :search_key,
         | 
| 2470 | 
            +
                  :search_value)
         | 
| 2471 | 
            +
                  SENSITIVE = []
         | 
| 2472 | 
            +
                  include Aws::Structure
         | 
| 2473 | 
            +
                end
         | 
| 2474 | 
            +
             | 
| 2475 | 
            +
                # @!attribute [rw] profile_ids
         | 
| 2476 | 
            +
                #   Set of `profileId`s that belong to the same matching group.
         | 
| 2477 | 
            +
                #   @return [Array<String>]
         | 
| 2478 | 
            +
                #
         | 
| 2479 | 
            +
                # @!attribute [rw] match_id
         | 
| 2480 | 
            +
                #   The string `matchId` that the similar profiles belong to.
         | 
| 2481 | 
            +
                #   @return [String]
         | 
| 2482 | 
            +
                #
         | 
| 2483 | 
            +
                # @!attribute [rw] match_type
         | 
| 2484 | 
            +
                #   Specify the type of matching to get similar profiles for.
         | 
| 2485 | 
            +
                #   @return [String]
         | 
| 2486 | 
            +
                #
         | 
| 2487 | 
            +
                # @!attribute [rw] rule_level
         | 
| 2488 | 
            +
                #   The integer rule level that the profiles matched on.
         | 
| 2489 | 
            +
                #   @return [Integer]
         | 
| 2490 | 
            +
                #
         | 
| 2491 | 
            +
                # @!attribute [rw] confidence_score
         | 
| 2492 | 
            +
                #   It only has value when the `MatchType` is `ML_BASED_MATCHING`.A
         | 
| 2493 | 
            +
                #   number between 0 and 1, where a higher score means higher
         | 
| 2494 | 
            +
                #   similarity. Examining match confidence scores lets you distinguish
         | 
| 2495 | 
            +
                #   between groups of similar records in which the system is highly
         | 
| 2496 | 
            +
                #   confident (which you may decide to merge), groups of similar records
         | 
| 2497 | 
            +
                #   about which the system is uncertain (which you may decide to have
         | 
| 2498 | 
            +
                #   reviewed by a human), and groups of similar records that the system
         | 
| 2499 | 
            +
                #   deems to be unlikely (which you may decide to reject). Given
         | 
| 2500 | 
            +
                #   confidence scores vary as per the data input, it should not be used
         | 
| 2501 | 
            +
                #   as an absolute measure of matching quality.
         | 
| 2502 | 
            +
                #   @return [Float]
         | 
| 2503 | 
            +
                #
         | 
| 2504 | 
            +
                # @!attribute [rw] next_token
         | 
| 2505 | 
            +
                #   The pagination token from the previous `GetSimilarProfiles` API
         | 
| 2506 | 
            +
                #   call.
         | 
| 2507 | 
            +
                #   @return [String]
         | 
| 2508 | 
            +
                #
         | 
| 2509 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSimilarProfilesResponse AWS API Documentation
         | 
| 2510 | 
            +
                #
         | 
| 2511 | 
            +
                class GetSimilarProfilesResponse < Struct.new(
         | 
| 2512 | 
            +
                  :profile_ids,
         | 
| 2513 | 
            +
                  :match_id,
         | 
| 2514 | 
            +
                  :match_type,
         | 
| 2515 | 
            +
                  :rule_level,
         | 
| 2516 | 
            +
                  :confidence_score,
         | 
| 2517 | 
            +
                  :next_token)
         | 
| 2518 | 
            +
                  SENSITIVE = []
         | 
| 2519 | 
            +
                  include Aws::Structure
         | 
| 2520 | 
            +
                end
         | 
| 2521 | 
            +
             | 
| 2315 2522 | 
             
                # @!attribute [rw] domain_name
         | 
| 2316 2523 | 
             
                #   The unique name of the domain.
         | 
| 2317 2524 | 
             
                #   @return [String]
         | 
| @@ -3268,6 +3475,47 @@ module Aws::CustomerProfiles | |
| 3268 3475 | 
             
                  include Aws::Structure
         | 
| 3269 3476 | 
             
                end
         | 
| 3270 3477 |  | 
| 3478 | 
            +
                # @!attribute [rw] next_token
         | 
| 3479 | 
            +
                #   The pagination token from the previous `ListRuleBasedMatches` API
         | 
| 3480 | 
            +
                #   call.
         | 
| 3481 | 
            +
                #   @return [String]
         | 
| 3482 | 
            +
                #
         | 
| 3483 | 
            +
                # @!attribute [rw] max_results
         | 
| 3484 | 
            +
                #   The maximum number of `MatchIds` returned per page.
         | 
| 3485 | 
            +
                #   @return [Integer]
         | 
| 3486 | 
            +
                #
         | 
| 3487 | 
            +
                # @!attribute [rw] domain_name
         | 
| 3488 | 
            +
                #   The unique name of the domain.
         | 
| 3489 | 
            +
                #   @return [String]
         | 
| 3490 | 
            +
                #
         | 
| 3491 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatchesRequest AWS API Documentation
         | 
| 3492 | 
            +
                #
         | 
| 3493 | 
            +
                class ListRuleBasedMatchesRequest < Struct.new(
         | 
| 3494 | 
            +
                  :next_token,
         | 
| 3495 | 
            +
                  :max_results,
         | 
| 3496 | 
            +
                  :domain_name)
         | 
| 3497 | 
            +
                  SENSITIVE = []
         | 
| 3498 | 
            +
                  include Aws::Structure
         | 
| 3499 | 
            +
                end
         | 
| 3500 | 
            +
             | 
| 3501 | 
            +
                # @!attribute [rw] match_ids
         | 
| 3502 | 
            +
                #   The list of `MatchIds` for the given domain.
         | 
| 3503 | 
            +
                #   @return [Array<String>]
         | 
| 3504 | 
            +
                #
         | 
| 3505 | 
            +
                # @!attribute [rw] next_token
         | 
| 3506 | 
            +
                #   The pagination token from the previous `ListRuleBasedMatches` API
         | 
| 3507 | 
            +
                #   call.
         | 
| 3508 | 
            +
                #   @return [String]
         | 
| 3509 | 
            +
                #
         | 
| 3510 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRuleBasedMatchesResponse AWS API Documentation
         | 
| 3511 | 
            +
                #
         | 
| 3512 | 
            +
                class ListRuleBasedMatchesResponse < Struct.new(
         | 
| 3513 | 
            +
                  :match_ids,
         | 
| 3514 | 
            +
                  :next_token)
         | 
| 3515 | 
            +
                  SENSITIVE = []
         | 
| 3516 | 
            +
                  include Aws::Structure
         | 
| 3517 | 
            +
                end
         | 
| 3518 | 
            +
             | 
| 3271 3519 | 
             
                # @!attribute [rw] resource_arn
         | 
| 3272 3520 | 
             
                #   The ARN of the resource for which you want to view tags.
         | 
| 3273 3521 | 
             
                #   @return [String]
         | 
| @@ -3505,6 +3753,57 @@ module Aws::CustomerProfiles | |
| 3505 3753 | 
             
                  include Aws::Structure
         | 
| 3506 3754 | 
             
                end
         | 
| 3507 3755 |  | 
| 3756 | 
            +
                # Specifies how does the rule-based matching process should match
         | 
| 3757 | 
            +
                # profiles. You can choose from the following attributes to build the
         | 
| 3758 | 
            +
                # matching Rule:
         | 
| 3759 | 
            +
                #
         | 
| 3760 | 
            +
                # * AccountNumber
         | 
| 3761 | 
            +
                #
         | 
| 3762 | 
            +
                # * Address.Address
         | 
| 3763 | 
            +
                #
         | 
| 3764 | 
            +
                # * Address.City
         | 
| 3765 | 
            +
                #
         | 
| 3766 | 
            +
                # * Address.Country
         | 
| 3767 | 
            +
                #
         | 
| 3768 | 
            +
                # * Address.County
         | 
| 3769 | 
            +
                #
         | 
| 3770 | 
            +
                # * Address.PostalCode
         | 
| 3771 | 
            +
                #
         | 
| 3772 | 
            +
                # * Address.State
         | 
| 3773 | 
            +
                #
         | 
| 3774 | 
            +
                # * Address.Province
         | 
| 3775 | 
            +
                #
         | 
| 3776 | 
            +
                # * BirthDate
         | 
| 3777 | 
            +
                #
         | 
| 3778 | 
            +
                # * BusinessName
         | 
| 3779 | 
            +
                #
         | 
| 3780 | 
            +
                # * EmailAddress
         | 
| 3781 | 
            +
                #
         | 
| 3782 | 
            +
                # * FirstName
         | 
| 3783 | 
            +
                #
         | 
| 3784 | 
            +
                # * Gender
         | 
| 3785 | 
            +
                #
         | 
| 3786 | 
            +
                # * LastName
         | 
| 3787 | 
            +
                #
         | 
| 3788 | 
            +
                # * MiddleName
         | 
| 3789 | 
            +
                #
         | 
| 3790 | 
            +
                # * PhoneNumber
         | 
| 3791 | 
            +
                #
         | 
| 3792 | 
            +
                # * Any customized profile attributes that start with the `Attributes`
         | 
| 3793 | 
            +
                #
         | 
| 3794 | 
            +
                # @!attribute [rw] rule
         | 
| 3795 | 
            +
                #   A single rule level of the `MatchRules`. Configures how the
         | 
| 3796 | 
            +
                #   rule-based matching process should match profiles.
         | 
| 3797 | 
            +
                #   @return [Array<String>]
         | 
| 3798 | 
            +
                #
         | 
| 3799 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MatchingRule AWS API Documentation
         | 
| 3800 | 
            +
                #
         | 
| 3801 | 
            +
                class MatchingRule < Struct.new(
         | 
| 3802 | 
            +
                  :rule)
         | 
| 3803 | 
            +
                  SENSITIVE = []
         | 
| 3804 | 
            +
                  include Aws::Structure
         | 
| 3805 | 
            +
                end
         | 
| 3806 | 
            +
             | 
| 3508 3807 | 
             
                # @!attribute [rw] domain_name
         | 
| 3509 3808 | 
             
                #   The unique name of the domain.
         | 
| 3510 3809 | 
             
                #   @return [String]
         | 
| @@ -4122,6 +4421,163 @@ module Aws::CustomerProfiles | |
| 4122 4421 | 
             
                  include Aws::Structure
         | 
| 4123 4422 | 
             
                end
         | 
| 4124 4423 |  | 
| 4424 | 
            +
                # The request to enable the rule-based matching.
         | 
| 4425 | 
            +
                #
         | 
| 4426 | 
            +
                # @!attribute [rw] enabled
         | 
| 4427 | 
            +
                #   The flag that enables the rule-based matching process of duplicate
         | 
| 4428 | 
            +
                #   profiles.
         | 
| 4429 | 
            +
                #   @return [Boolean]
         | 
| 4430 | 
            +
                #
         | 
| 4431 | 
            +
                # @!attribute [rw] matching_rules
         | 
| 4432 | 
            +
                #   Configures how the rule-based matching process should match
         | 
| 4433 | 
            +
                #   profiles. You can have up to 15 `MatchingRule` in the
         | 
| 4434 | 
            +
                #   `MatchingRules`.
         | 
| 4435 | 
            +
                #   @return [Array<Types::MatchingRule>]
         | 
| 4436 | 
            +
                #
         | 
| 4437 | 
            +
                # @!attribute [rw] max_allowed_rule_level_for_merging
         | 
| 4438 | 
            +
                #   [MatchingRule][1]
         | 
| 4439 | 
            +
                #
         | 
| 4440 | 
            +
                #
         | 
| 4441 | 
            +
                #
         | 
| 4442 | 
            +
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html
         | 
| 4443 | 
            +
                #   @return [Integer]
         | 
| 4444 | 
            +
                #
         | 
| 4445 | 
            +
                # @!attribute [rw] max_allowed_rule_level_for_matching
         | 
| 4446 | 
            +
                #   Indicates the maximum allowed rule level.
         | 
| 4447 | 
            +
                #   @return [Integer]
         | 
| 4448 | 
            +
                #
         | 
| 4449 | 
            +
                # @!attribute [rw] attribute_types_selector
         | 
| 4450 | 
            +
                #   Configures information about the `AttributeTypesSelector` where the
         | 
| 4451 | 
            +
                #   rule-based identity resolution uses to match profiles.
         | 
| 4452 | 
            +
                #   @return [Types::AttributeTypesSelector]
         | 
| 4453 | 
            +
                #
         | 
| 4454 | 
            +
                # @!attribute [rw] conflict_resolution
         | 
| 4455 | 
            +
                #   How the auto-merging process should resolve conflicts between
         | 
| 4456 | 
            +
                #   different profiles.
         | 
| 4457 | 
            +
                #   @return [Types::ConflictResolution]
         | 
| 4458 | 
            +
                #
         | 
| 4459 | 
            +
                # @!attribute [rw] exporting_config
         | 
| 4460 | 
            +
                #   Configuration information about the S3 bucket where Identity
         | 
| 4461 | 
            +
                #   Resolution Jobs writes result files.
         | 
| 4462 | 
            +
                #
         | 
| 4463 | 
            +
                #   <note markdown="1"> You need to give Customer Profiles service principal write
         | 
| 4464 | 
            +
                #   permission to your S3 bucket. Otherwise, you'll get an exception in
         | 
| 4465 | 
            +
                #   the API response. For an example policy, see [Amazon Connect
         | 
| 4466 | 
            +
                #   Customer Profiles cross-service confused deputy prevention][1].
         | 
| 4467 | 
            +
                #
         | 
| 4468 | 
            +
                #    </note>
         | 
| 4469 | 
            +
                #
         | 
| 4470 | 
            +
                #
         | 
| 4471 | 
            +
                #
         | 
| 4472 | 
            +
                #   [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
         | 
| 4473 | 
            +
                #   @return [Types::ExportingConfig]
         | 
| 4474 | 
            +
                #
         | 
| 4475 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RuleBasedMatchingRequest AWS API Documentation
         | 
| 4476 | 
            +
                #
         | 
| 4477 | 
            +
                class RuleBasedMatchingRequest < Struct.new(
         | 
| 4478 | 
            +
                  :enabled,
         | 
| 4479 | 
            +
                  :matching_rules,
         | 
| 4480 | 
            +
                  :max_allowed_rule_level_for_merging,
         | 
| 4481 | 
            +
                  :max_allowed_rule_level_for_matching,
         | 
| 4482 | 
            +
                  :attribute_types_selector,
         | 
| 4483 | 
            +
                  :conflict_resolution,
         | 
| 4484 | 
            +
                  :exporting_config)
         | 
| 4485 | 
            +
                  SENSITIVE = []
         | 
| 4486 | 
            +
                  include Aws::Structure
         | 
| 4487 | 
            +
                end
         | 
| 4488 | 
            +
             | 
| 4489 | 
            +
                # The response of the Rule-based matching request.
         | 
| 4490 | 
            +
                #
         | 
| 4491 | 
            +
                # @!attribute [rw] enabled
         | 
| 4492 | 
            +
                #   The flag that enables the rule-based matching process of duplicate
         | 
| 4493 | 
            +
                #   profiles.
         | 
| 4494 | 
            +
                #   @return [Boolean]
         | 
| 4495 | 
            +
                #
         | 
| 4496 | 
            +
                # @!attribute [rw] matching_rules
         | 
| 4497 | 
            +
                #   Configures how the rule-based matching process should match
         | 
| 4498 | 
            +
                #   profiles. You can have up to 15 `MatchingRule` in the
         | 
| 4499 | 
            +
                #   `MatchingRules`.
         | 
| 4500 | 
            +
                #   @return [Array<Types::MatchingRule>]
         | 
| 4501 | 
            +
                #
         | 
| 4502 | 
            +
                # @!attribute [rw] status
         | 
| 4503 | 
            +
                #   PENDING
         | 
| 4504 | 
            +
                #
         | 
| 4505 | 
            +
                #   * The first status after configuration a rule-based matching rule.
         | 
| 4506 | 
            +
                #     If it is an existing domain, the rule-based Identity Resolution
         | 
| 4507 | 
            +
                #     waits one hour before creating the matching rule. If it is a new
         | 
| 4508 | 
            +
                #     domain, the system will skip the `PENDING` stage.
         | 
| 4509 | 
            +
                #
         | 
| 4510 | 
            +
                #   ^
         | 
| 4511 | 
            +
                #
         | 
| 4512 | 
            +
                #   IN\_PROGRESS
         | 
| 4513 | 
            +
                #
         | 
| 4514 | 
            +
                #   * The system is creating the rule-based matching rule. Under this
         | 
| 4515 | 
            +
                #     status, the system is evaluating the existing data and you can no
         | 
| 4516 | 
            +
                #     longer change the Rule-based matching configuration.
         | 
| 4517 | 
            +
                #
         | 
| 4518 | 
            +
                #   ^
         | 
| 4519 | 
            +
                #
         | 
| 4520 | 
            +
                #   ACTIVE
         | 
| 4521 | 
            +
                #
         | 
| 4522 | 
            +
                #   * The rule is ready to use. You can change the rule a day after the
         | 
| 4523 | 
            +
                #     status is in `ACTIVE`.
         | 
| 4524 | 
            +
                #
         | 
| 4525 | 
            +
                #   ^
         | 
| 4526 | 
            +
                #   @return [String]
         | 
| 4527 | 
            +
                #
         | 
| 4528 | 
            +
                # @!attribute [rw] max_allowed_rule_level_for_merging
         | 
| 4529 | 
            +
                #   [MatchingRule][1]
         | 
| 4530 | 
            +
                #
         | 
| 4531 | 
            +
                #
         | 
| 4532 | 
            +
                #
         | 
| 4533 | 
            +
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html
         | 
| 4534 | 
            +
                #   @return [Integer]
         | 
| 4535 | 
            +
                #
         | 
| 4536 | 
            +
                # @!attribute [rw] max_allowed_rule_level_for_matching
         | 
| 4537 | 
            +
                #   Indicates the maximum allowed rule level.
         | 
| 4538 | 
            +
                #   @return [Integer]
         | 
| 4539 | 
            +
                #
         | 
| 4540 | 
            +
                # @!attribute [rw] attribute_types_selector
         | 
| 4541 | 
            +
                #   Configures information about the `AttributeTypesSelector` where the
         | 
| 4542 | 
            +
                #   rule-based identity resolution uses to match profiles.
         | 
| 4543 | 
            +
                #   @return [Types::AttributeTypesSelector]
         | 
| 4544 | 
            +
                #
         | 
| 4545 | 
            +
                # @!attribute [rw] conflict_resolution
         | 
| 4546 | 
            +
                #   How the auto-merging process should resolve conflicts between
         | 
| 4547 | 
            +
                #   different profiles.
         | 
| 4548 | 
            +
                #   @return [Types::ConflictResolution]
         | 
| 4549 | 
            +
                #
         | 
| 4550 | 
            +
                # @!attribute [rw] exporting_config
         | 
| 4551 | 
            +
                #   Configuration information about the S3 bucket where Identity
         | 
| 4552 | 
            +
                #   Resolution Jobs writes result files.
         | 
| 4553 | 
            +
                #
         | 
| 4554 | 
            +
                #   <note markdown="1"> You need to give Customer Profiles service principal write
         | 
| 4555 | 
            +
                #   permission to your S3 bucket. Otherwise, you'll get an exception in
         | 
| 4556 | 
            +
                #   the API response. For an example policy, see [Amazon Connect
         | 
| 4557 | 
            +
                #   Customer Profiles cross-service confused deputy prevention][1].
         | 
| 4558 | 
            +
                #
         | 
| 4559 | 
            +
                #    </note>
         | 
| 4560 | 
            +
                #
         | 
| 4561 | 
            +
                #
         | 
| 4562 | 
            +
                #
         | 
| 4563 | 
            +
                #   [1]: https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service
         | 
| 4564 | 
            +
                #   @return [Types::ExportingConfig]
         | 
| 4565 | 
            +
                #
         | 
| 4566 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RuleBasedMatchingResponse AWS API Documentation
         | 
| 4567 | 
            +
                #
         | 
| 4568 | 
            +
                class RuleBasedMatchingResponse < Struct.new(
         | 
| 4569 | 
            +
                  :enabled,
         | 
| 4570 | 
            +
                  :matching_rules,
         | 
| 4571 | 
            +
                  :status,
         | 
| 4572 | 
            +
                  :max_allowed_rule_level_for_merging,
         | 
| 4573 | 
            +
                  :max_allowed_rule_level_for_matching,
         | 
| 4574 | 
            +
                  :attribute_types_selector,
         | 
| 4575 | 
            +
                  :conflict_resolution,
         | 
| 4576 | 
            +
                  :exporting_config)
         | 
| 4577 | 
            +
                  SENSITIVE = []
         | 
| 4578 | 
            +
                  include Aws::Structure
         | 
| 4579 | 
            +
                end
         | 
| 4580 | 
            +
             | 
| 4125 4581 | 
             
                # Configuration information about the S3 bucket where Identity
         | 
| 4126 4582 | 
             
                # Resolution Jobs write result files.
         | 
| 4127 4583 | 
             
                #
         | 
| @@ -4785,6 +5241,17 @@ module Aws::CustomerProfiles | |
| 4785 5241 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 4786 5242 | 
             
                #   @return [Types::MatchingRequest]
         | 
| 4787 5243 | 
             
                #
         | 
| 5244 | 
            +
                # @!attribute [rw] rule_based_matching
         | 
| 5245 | 
            +
                #   The process of matching duplicate profiles using the rule-Based
         | 
| 5246 | 
            +
                #   matching. If `RuleBasedMatching` = true, Amazon Connect Customer
         | 
| 5247 | 
            +
                #   Profiles will start to match and merge your profiles according to
         | 
| 5248 | 
            +
                #   your configuration in the `RuleBasedMatchingRequest`. You can use
         | 
| 5249 | 
            +
                #   the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
         | 
| 5250 | 
            +
                #   and review the results. Also, if you have configured
         | 
| 5251 | 
            +
                #   `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
         | 
| 5252 | 
            +
                #   download the results from S3.
         | 
| 5253 | 
            +
                #   @return [Types::RuleBasedMatchingRequest]
         | 
| 5254 | 
            +
                #
         | 
| 4788 5255 | 
             
                # @!attribute [rw] tags
         | 
| 4789 5256 | 
             
                #   The tags used to organize, track, or control access for this
         | 
| 4790 5257 | 
             
                #   resource.
         | 
| @@ -4798,6 +5265,7 @@ module Aws::CustomerProfiles | |
| 4798 5265 | 
             
                  :default_encryption_key,
         | 
| 4799 5266 | 
             
                  :dead_letter_queue_url,
         | 
| 4800 5267 | 
             
                  :matching,
         | 
| 5268 | 
            +
                  :rule_based_matching,
         | 
| 4801 5269 | 
             
                  :tags)
         | 
| 4802 5270 | 
             
                  SENSITIVE = []
         | 
| 4803 5271 | 
             
                  include Aws::Structure
         | 
| @@ -4840,6 +5308,17 @@ module Aws::CustomerProfiles | |
| 4840 5308 | 
             
                #   [1]: https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
         | 
| 4841 5309 | 
             
                #   @return [Types::MatchingResponse]
         | 
| 4842 5310 | 
             
                #
         | 
| 5311 | 
            +
                # @!attribute [rw] rule_based_matching
         | 
| 5312 | 
            +
                #   The process of matching duplicate profiles using the rule-Based
         | 
| 5313 | 
            +
                #   matching. If `RuleBasedMatching` = true, Amazon Connect Customer
         | 
| 5314 | 
            +
                #   Profiles will start to match and merge your profiles according to
         | 
| 5315 | 
            +
                #   your configuration in the `RuleBasedMatchingRequest`. You can use
         | 
| 5316 | 
            +
                #   the `ListRuleBasedMatches` and `GetSimilarProfiles` API to return
         | 
| 5317 | 
            +
                #   and review the results. Also, if you have configured
         | 
| 5318 | 
            +
                #   `ExportingConfig` in the `RuleBasedMatchingRequest`, you can
         | 
| 5319 | 
            +
                #   download the results from S3.
         | 
| 5320 | 
            +
                #   @return [Types::RuleBasedMatchingResponse]
         | 
| 5321 | 
            +
                #
         | 
| 4843 5322 | 
             
                # @!attribute [rw] created_at
         | 
| 4844 5323 | 
             
                #   The timestamp of when the domain was created.
         | 
| 4845 5324 | 
             
                #   @return [Time]
         | 
| @@ -4861,6 +5340,7 @@ module Aws::CustomerProfiles | |
| 4861 5340 | 
             
                  :default_encryption_key,
         | 
| 4862 5341 | 
             
                  :dead_letter_queue_url,
         | 
| 4863 5342 | 
             
                  :matching,
         | 
| 5343 | 
            +
                  :rule_based_matching,
         | 
| 4864 5344 | 
             
                  :created_at,
         | 
| 4865 5345 | 
             
                  :last_updated_at,
         | 
| 4866 5346 | 
             
                  :tags)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aws-sdk-customerprofiles
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.35.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Amazon Web Services
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023-07- | 
| 11 | 
            +
            date: 2023-07-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aws-sdk-core
         |