/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CustomerProfiles { namespace Model { /** *

The response of the Rule-based matching request.

See Also:

* AWS * API Reference

*/ class RuleBasedMatchingResponse { public: AWS_CUSTOMERPROFILES_API RuleBasedMatchingResponse(); AWS_CUSTOMERPROFILES_API RuleBasedMatchingResponse(Aws::Utils::Json::JsonView jsonValue); AWS_CUSTOMERPROFILES_API RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& AddMatchingRules(MatchingRule&& value) { m_matchingRulesHasBeenSet = true; m_matchingRules.push_back(std::move(value)); return *this; } /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline const RuleBasedMatchingStatus& GetStatus() const{ return m_status; } /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline void SetStatus(const RuleBasedMatchingStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline void SetStatus(RuleBasedMatchingStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline RuleBasedMatchingResponse& WithStatus(const RuleBasedMatchingStatus& value) { SetStatus(value); return *this;} /** *

PENDING

  • The first status after configuration a rule-based * matching rule. If it is an existing domain, the rule-based Identity Resolution * waits one hour before creating the matching rule. If it is a new domain, the * system will skip the PENDING stage.

*

IN_PROGRESS

  • The system is creating the rule-based matching * rule. Under this status, the system is evaluating the existing data and you can * no longer change the Rule-based matching configuration.

*

ACTIVE

  • The rule is ready to use. You can change the rule a * day after the status is in ACTIVE.

*/ inline RuleBasedMatchingResponse& WithStatus(RuleBasedMatchingStatus&& value) { SetStatus(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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& WithAttributeTypesSelector(const AttributeTypesSelector& value) { SetAttributeTypesSelector(value); return *this;} /** *

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

*/ inline RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& WithConflictResolution(const ConflictResolution& value) { SetConflictResolution(value); return *this;} inline RuleBasedMatchingResponse& 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 RuleBasedMatchingResponse& WithExportingConfig(const ExportingConfig& value) { SetExportingConfig(value); return *this;} inline RuleBasedMatchingResponse& 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; RuleBasedMatchingStatus m_status; bool m_statusHasBeenSet = 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