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

How the auto-merging process should resolve conflicts between different * profiles.

See Also:

AWS * API Reference

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

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline const ConflictResolvingModel& GetConflictResolvingModel() const{ return m_conflictResolvingModel; } /** *

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline bool ConflictResolvingModelHasBeenSet() const { return m_conflictResolvingModelHasBeenSet; } /** *

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline void SetConflictResolvingModel(const ConflictResolvingModel& value) { m_conflictResolvingModelHasBeenSet = true; m_conflictResolvingModel = value; } /** *

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline void SetConflictResolvingModel(ConflictResolvingModel&& value) { m_conflictResolvingModelHasBeenSet = true; m_conflictResolvingModel = std::move(value); } /** *

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline ConflictResolution& WithConflictResolvingModel(const ConflictResolvingModel& value) { SetConflictResolvingModel(value); return *this;} /** *

How the auto-merging process should resolve conflicts between different * profiles.

  • RECENCY: Uses the data that was most * recently updated.

  • SOURCE: Uses the data from a * specific source. For example, if a company has been aquired or two departments * have merged, data from the specified source is used. If two duplicate profiles * are from the same source, then RECENCY is used again.

  • *
*/ inline ConflictResolution& WithConflictResolvingModel(ConflictResolvingModel&& value) { SetConflictResolvingModel(std::move(value)); return *this;} /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline const Aws::String& GetSourceName() const{ return m_sourceName; } /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline bool SourceNameHasBeenSet() const { return m_sourceNameHasBeenSet; } /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline void SetSourceName(const Aws::String& value) { m_sourceNameHasBeenSet = true; m_sourceName = value; } /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline void SetSourceName(Aws::String&& value) { m_sourceNameHasBeenSet = true; m_sourceName = std::move(value); } /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline void SetSourceName(const char* value) { m_sourceNameHasBeenSet = true; m_sourceName.assign(value); } /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline ConflictResolution& WithSourceName(const Aws::String& value) { SetSourceName(value); return *this;} /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline ConflictResolution& WithSourceName(Aws::String&& value) { SetSourceName(std::move(value)); return *this;} /** *

The ObjectType name that is used to resolve profile merging * conflicts when choosing SOURCE as the * ConflictResolvingModel.

*/ inline ConflictResolution& WithSourceName(const char* value) { SetSourceName(value); return *this;} private: ConflictResolvingModel m_conflictResolvingModel; bool m_conflictResolvingModelHasBeenSet = false; Aws::String m_sourceName; bool m_sourceNameHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws