/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CustomerProfiles { namespace Model { /** *

The request to enable the rule-based matching.

See Also:

AWS * API Reference

*/ class RuleBasedMatchingRequest { public: AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest(); AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest(Aws::Utils::Json::JsonView jsonValue); AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The flag that enables the rule-based matching process of duplicate * profiles.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

The flag that enables the rule-based matching process of duplicate * profiles.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

The flag that enables the rule-based matching process of duplicate * profiles.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

The flag that enables the rule-based matching process of duplicate * profiles.

*/ inline RuleBasedMatchingRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline const Aws::Vector& GetMatchingRules() const{ return m_matchingRules; } /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline bool MatchingRulesHasBeenSet() const { return m_matchingRulesHasBeenSet; } /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline void SetMatchingRules(const Aws::Vector& value) { m_matchingRulesHasBeenSet = true; m_matchingRules = value; } /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline void SetMatchingRules(Aws::Vector&& value) { m_matchingRulesHasBeenSet = true; m_matchingRules = std::move(value); } /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline RuleBasedMatchingRequest& WithMatchingRules(const Aws::Vector& value) { SetMatchingRules(value); return *this;} /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline RuleBasedMatchingRequest& WithMatchingRules(Aws::Vector&& value) { SetMatchingRules(std::move(value)); return *this;} /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline RuleBasedMatchingRequest& AddMatchingRules(const MatchingRule& value) { m_matchingRulesHasBeenSet = true; m_matchingRules.push_back(value); return *this; } /** *

Configures how the rule-based matching process should match profiles. You can * have up to 15 MatchingRule in the MatchingRules.

*/ inline RuleBasedMatchingRequest& AddMatchingRules(MatchingRule&& value) { m_matchingRulesHasBeenSet = true; m_matchingRules.push_back(std::move(value)); return *this; } /** *

MatchingRule *

*/ inline int GetMaxAllowedRuleLevelForMerging() const{ return m_maxAllowedRuleLevelForMerging; } /** *

MatchingRule *

*/ inline bool MaxAllowedRuleLevelForMergingHasBeenSet() const { return m_maxAllowedRuleLevelForMergingHasBeenSet; } /** *

MatchingRule *

*/ inline void SetMaxAllowedRuleLevelForMerging(int value) { m_maxAllowedRuleLevelForMergingHasBeenSet = true; m_maxAllowedRuleLevelForMerging = value; } /** *

MatchingRule *

*/ inline RuleBasedMatchingRequest& WithMaxAllowedRuleLevelForMerging(int value) { SetMaxAllowedRuleLevelForMerging(value); return *this;} /** *

Indicates the maximum allowed rule level.

*/ inline int GetMaxAllowedRuleLevelForMatching() const{ return m_maxAllowedRuleLevelForMatching; } /** *

Indicates the maximum allowed rule level.

*/ inline bool MaxAllowedRuleLevelForMatchingHasBeenSet() const { return m_maxAllowedRuleLevelForMatchingHasBeenSet; } /** *

Indicates the maximum allowed rule level.

*/ inline void SetMaxAllowedRuleLevelForMatching(int value) { m_maxAllowedRuleLevelForMatchingHasBeenSet = true; m_maxAllowedRuleLevelForMatching = value; } /** *

Indicates the maximum allowed rule level.

*/ inline RuleBasedMatchingRequest& WithMaxAllowedRuleLevelForMatching(int value) { SetMaxAllowedRuleLevelForMatching(value); return *this;} /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline const AttributeTypesSelector& GetAttributeTypesSelector() const{ return m_attributeTypesSelector; } /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline bool AttributeTypesSelectorHasBeenSet() const { return m_attributeTypesSelectorHasBeenSet; } /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline void SetAttributeTypesSelector(const AttributeTypesSelector& value) { m_attributeTypesSelectorHasBeenSet = true; m_attributeTypesSelector = value; } /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline void SetAttributeTypesSelector(AttributeTypesSelector&& value) { m_attributeTypesSelectorHasBeenSet = true; m_attributeTypesSelector = std::move(value); } /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline RuleBasedMatchingRequest& WithAttributeTypesSelector(const AttributeTypesSelector& value) { SetAttributeTypesSelector(value); return *this;} /** *

Configures information about the AttributeTypesSelector where * the rule-based identity resolution uses to match profiles.

*/ inline RuleBasedMatchingRequest& WithAttributeTypesSelector(AttributeTypesSelector&& value) { SetAttributeTypesSelector(std::move(value)); return *this;} inline const ConflictResolution& GetConflictResolution() const{ return m_conflictResolution; } inline bool ConflictResolutionHasBeenSet() const { return m_conflictResolutionHasBeenSet; } inline void SetConflictResolution(const ConflictResolution& value) { m_conflictResolutionHasBeenSet = true; m_conflictResolution = value; } inline void SetConflictResolution(ConflictResolution&& value) { m_conflictResolutionHasBeenSet = true; m_conflictResolution = std::move(value); } inline RuleBasedMatchingRequest& WithConflictResolution(const ConflictResolution& value) { SetConflictResolution(value); return *this;} inline RuleBasedMatchingRequest& WithConflictResolution(ConflictResolution&& value) { SetConflictResolution(std::move(value)); return *this;} inline const ExportingConfig& GetExportingConfig() const{ return m_exportingConfig; } inline bool ExportingConfigHasBeenSet() const { return m_exportingConfigHasBeenSet; } inline void SetExportingConfig(const ExportingConfig& value) { m_exportingConfigHasBeenSet = true; m_exportingConfig = value; } inline void SetExportingConfig(ExportingConfig&& value) { m_exportingConfigHasBeenSet = true; m_exportingConfig = std::move(value); } inline RuleBasedMatchingRequest& WithExportingConfig(const ExportingConfig& value) { SetExportingConfig(value); return *this;} inline RuleBasedMatchingRequest& WithExportingConfig(ExportingConfig&& value) { SetExportingConfig(std::move(value)); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; Aws::Vector m_matchingRules; bool m_matchingRulesHasBeenSet = false; int m_maxAllowedRuleLevelForMerging; bool m_maxAllowedRuleLevelForMergingHasBeenSet = false; int m_maxAllowedRuleLevelForMatching; bool m_maxAllowedRuleLevelForMatchingHasBeenSet = false; AttributeTypesSelector m_attributeTypesSelector; bool m_attributeTypesSelectorHasBeenSet = false; ConflictResolution m_conflictResolution; bool m_conflictResolutionHasBeenSet = false; ExportingConfig m_exportingConfig; bool m_exportingConfigHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws