/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the customer-profiles-2020-08-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CustomerProfiles.Model
{
///
/// The response of the Rule-based matching request.
///
public partial class RuleBasedMatchingResponse
{
private AttributeTypesSelector _attributeTypesSelector;
private ConflictResolution _conflictResolution;
private bool? _enabled;
private ExportingConfig _exportingConfig;
private List _matchingRules = new List();
private int? _maxAllowedRuleLevelForMatching;
private int? _maxAllowedRuleLevelForMerging;
private RuleBasedMatchingStatus _status;
///
/// Gets and sets the property AttributeTypesSelector.
///
/// Configures information about the AttributeTypesSelector
where the rule-based
/// identity resolution uses to match profiles.
///
///
public AttributeTypesSelector AttributeTypesSelector
{
get { return this._attributeTypesSelector; }
set { this._attributeTypesSelector = value; }
}
// Check to see if AttributeTypesSelector property is set
internal bool IsSetAttributeTypesSelector()
{
return this._attributeTypesSelector != null;
}
///
/// Gets and sets the property ConflictResolution.
///
public ConflictResolution ConflictResolution
{
get { return this._conflictResolution; }
set { this._conflictResolution = value; }
}
// Check to see if ConflictResolution property is set
internal bool IsSetConflictResolution()
{
return this._conflictResolution != null;
}
///
/// Gets and sets the property Enabled.
///
/// The flag that enables the rule-based matching process of duplicate profiles.
///
///
public bool Enabled
{
get { return this._enabled.GetValueOrDefault(); }
set { this._enabled = value; }
}
// Check to see if Enabled property is set
internal bool IsSetEnabled()
{
return this._enabled.HasValue;
}
///
/// Gets and sets the property ExportingConfig.
///
public ExportingConfig ExportingConfig
{
get { return this._exportingConfig; }
set { this._exportingConfig = value; }
}
// Check to see if ExportingConfig property is set
internal bool IsSetExportingConfig()
{
return this._exportingConfig != null;
}
///
/// Gets and sets the property MatchingRules.
///
/// Configures how the rule-based matching process should match profiles. You can have
/// up to 15 MatchingRule
in the MatchingRules
.
///
///
[AWSProperty(Min=1, Max=15)]
public List MatchingRules
{
get { return this._matchingRules; }
set { this._matchingRules = value; }
}
// Check to see if MatchingRules property is set
internal bool IsSetMatchingRules()
{
return this._matchingRules != null && this._matchingRules.Count > 0;
}
///
/// Gets and sets the property MaxAllowedRuleLevelForMatching.
///
/// Indicates the maximum allowed rule level.
///
///
[AWSProperty(Min=1, Max=15)]
public int MaxAllowedRuleLevelForMatching
{
get { return this._maxAllowedRuleLevelForMatching.GetValueOrDefault(); }
set { this._maxAllowedRuleLevelForMatching = value; }
}
// Check to see if MaxAllowedRuleLevelForMatching property is set
internal bool IsSetMaxAllowedRuleLevelForMatching()
{
return this._maxAllowedRuleLevelForMatching.HasValue;
}
///
/// Gets and sets the property MaxAllowedRuleLevelForMerging.
///
/// MatchingRule
///
///
///
[AWSProperty(Min=1, Max=15)]
public int MaxAllowedRuleLevelForMerging
{
get { return this._maxAllowedRuleLevelForMerging.GetValueOrDefault(); }
set { this._maxAllowedRuleLevelForMerging = value; }
}
// Check to see if MaxAllowedRuleLevelForMerging property is set
internal bool IsSetMaxAllowedRuleLevelForMerging()
{
return this._maxAllowedRuleLevelForMerging.HasValue;
}
///
/// Gets and sets the property 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
.
///
///
///
public RuleBasedMatchingStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
}
}