/*
* 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 request to enable the rule-based matching.
///
public partial class RuleBasedMatchingRequest
{
private AttributeTypesSelector _attributeTypesSelector;
private ConflictResolution _conflictResolution;
private bool? _enabled;
private ExportingConfig _exportingConfig;
private List _matchingRules = new List();
private int? _maxAllowedRuleLevelForMatching;
private int? _maxAllowedRuleLevelForMerging;
///
/// 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.
///
///
[AWSProperty(Required=true)]
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;
}
}
}