/* * 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 { /// /// Container for the parameters to the MergeProfiles operation. /// Runs an AWS Lambda job that does the following: /// ///
  1. /// /// All the profileKeys in the ProfileToBeMerged will be moved to the main /// profile. /// ///
  2. /// /// All the objects in the ProfileToBeMerged will be moved to the main profile. /// ///
  3. /// /// All the ProfileToBeMerged will be deleted at the end. /// ///
  4. /// /// All the profileKeys in the ProfileIdsToBeMerged will be moved to the /// main profile. /// ///
  5. /// /// Standard fields are merged as follows: /// ///
    1. /// /// Fields are always "union"-ed if there are no conflicts in standard fields or attributeKeys. /// ///
    2. /// /// When there are conflicting fields: /// ///
      1. /// /// If no SourceProfileIds entry is specified, the main Profile value is /// always taken. /// ///
      2. /// /// If a SourceProfileIds entry is specified, the specified profileId is /// always taken, even if it is a NULL value. /// ///
/// /// You can use MergeProfiles together with GetMatches, /// which returns potentially matching profiles, or use it with the results of another /// matching system. After profiles have been merged, they cannot be separated (unmerged). /// ///
public partial class MergeProfilesRequest : AmazonCustomerProfilesRequest { private string _domainName; private FieldSourceProfileIds _fieldSourceProfileIds; private string _mainProfileId; private List _profileIdsToBeMerged = new List(); /// /// Gets and sets the property DomainName. /// /// The unique name of the domain. /// /// [AWSProperty(Required=true, Min=1, Max=64)] public string DomainName { get { return this._domainName; } set { this._domainName = value; } } // Check to see if DomainName property is set internal bool IsSetDomainName() { return this._domainName != null; } /// /// Gets and sets the property FieldSourceProfileIds. /// /// The identifiers of the fields in the profile that has the information you want to /// apply to the merge. For example, say you want to merge EmailAddress from Profile1 /// into MainProfile. This would be the identifier of the EmailAddress field in Profile1. /// /// /// public FieldSourceProfileIds FieldSourceProfileIds { get { return this._fieldSourceProfileIds; } set { this._fieldSourceProfileIds = value; } } // Check to see if FieldSourceProfileIds property is set internal bool IsSetFieldSourceProfileIds() { return this._fieldSourceProfileIds != null; } /// /// Gets and sets the property MainProfileId. /// /// The identifier of the profile to be taken. /// /// [AWSProperty(Required=true)] public string MainProfileId { get { return this._mainProfileId; } set { this._mainProfileId = value; } } // Check to see if MainProfileId property is set internal bool IsSetMainProfileId() { return this._mainProfileId != null; } /// /// Gets and sets the property ProfileIdsToBeMerged. /// /// The identifier of the profile to be merged into MainProfileId. /// /// [AWSProperty(Required=true, Min=1, Max=20)] public List ProfileIdsToBeMerged { get { return this._profileIdsToBeMerged; } set { this._profileIdsToBeMerged = value; } } // Check to see if ProfileIdsToBeMerged property is set internal bool IsSetProfileIdsToBeMerged() { return this._profileIdsToBeMerged != null && this._profileIdsToBeMerged.Count > 0; } } }