AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
RuleBasedMatchingRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/customer-profiles/CustomerProfiles_EXPORTS.h>
9#include <aws/customer-profiles/model/AttributeTypesSelector.h>
10#include <aws/customer-profiles/model/ConflictResolution.h>
11#include <aws/customer-profiles/model/ExportingConfig.h>
12#include <aws/customer-profiles/model/MatchingRule.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace CustomerProfiles {
24namespace Model {
25
32 public:
33 AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest() = default;
34 AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest(Aws::Utils::Json::JsonView jsonValue);
36 AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline bool GetEnabled() const { return m_enabled; }
44 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
45 inline void SetEnabled(bool value) {
46 m_enabledHasBeenSet = true;
47 m_enabled = value;
48 }
50 SetEnabled(value);
51 return *this;
52 }
54
56
60 inline const Aws::Vector<MatchingRule>& GetMatchingRules() const { return m_matchingRules; }
61 inline bool MatchingRulesHasBeenSet() const { return m_matchingRulesHasBeenSet; }
62 template <typename MatchingRulesT = Aws::Vector<MatchingRule>>
63 void SetMatchingRules(MatchingRulesT&& value) {
64 m_matchingRulesHasBeenSet = true;
65 m_matchingRules = std::forward<MatchingRulesT>(value);
66 }
67 template <typename MatchingRulesT = Aws::Vector<MatchingRule>>
69 SetMatchingRules(std::forward<MatchingRulesT>(value));
70 return *this;
71 }
72 template <typename MatchingRulesT = MatchingRule>
73 RuleBasedMatchingRequest& AddMatchingRules(MatchingRulesT&& value) {
74 m_matchingRulesHasBeenSet = true;
75 m_matchingRules.emplace_back(std::forward<MatchingRulesT>(value));
76 return *this;
77 }
79
81
86 inline int GetMaxAllowedRuleLevelForMerging() const { return m_maxAllowedRuleLevelForMerging; }
87 inline bool MaxAllowedRuleLevelForMergingHasBeenSet() const { return m_maxAllowedRuleLevelForMergingHasBeenSet; }
88 inline void SetMaxAllowedRuleLevelForMerging(int value) {
89 m_maxAllowedRuleLevelForMergingHasBeenSet = true;
90 m_maxAllowedRuleLevelForMerging = value;
91 }
94 return *this;
95 }
97
99
102 inline int GetMaxAllowedRuleLevelForMatching() const { return m_maxAllowedRuleLevelForMatching; }
103 inline bool MaxAllowedRuleLevelForMatchingHasBeenSet() const { return m_maxAllowedRuleLevelForMatchingHasBeenSet; }
104 inline void SetMaxAllowedRuleLevelForMatching(int value) {
105 m_maxAllowedRuleLevelForMatchingHasBeenSet = true;
106 m_maxAllowedRuleLevelForMatching = value;
107 }
110 return *this;
111 }
113
115
119 inline const AttributeTypesSelector& GetAttributeTypesSelector() const { return m_attributeTypesSelector; }
120 inline bool AttributeTypesSelectorHasBeenSet() const { return m_attributeTypesSelectorHasBeenSet; }
121 template <typename AttributeTypesSelectorT = AttributeTypesSelector>
122 void SetAttributeTypesSelector(AttributeTypesSelectorT&& value) {
123 m_attributeTypesSelectorHasBeenSet = true;
124 m_attributeTypesSelector = std::forward<AttributeTypesSelectorT>(value);
125 }
126 template <typename AttributeTypesSelectorT = AttributeTypesSelector>
127 RuleBasedMatchingRequest& WithAttributeTypesSelector(AttributeTypesSelectorT&& value) {
128 SetAttributeTypesSelector(std::forward<AttributeTypesSelectorT>(value));
129 return *this;
130 }
132
134
135 inline const ConflictResolution& GetConflictResolution() const { return m_conflictResolution; }
136 inline bool ConflictResolutionHasBeenSet() const { return m_conflictResolutionHasBeenSet; }
137 template <typename ConflictResolutionT = ConflictResolution>
138 void SetConflictResolution(ConflictResolutionT&& value) {
139 m_conflictResolutionHasBeenSet = true;
140 m_conflictResolution = std::forward<ConflictResolutionT>(value);
141 }
142 template <typename ConflictResolutionT = ConflictResolution>
143 RuleBasedMatchingRequest& WithConflictResolution(ConflictResolutionT&& value) {
144 SetConflictResolution(std::forward<ConflictResolutionT>(value));
145 return *this;
146 }
148
150
151 inline const ExportingConfig& GetExportingConfig() const { return m_exportingConfig; }
152 inline bool ExportingConfigHasBeenSet() const { return m_exportingConfigHasBeenSet; }
153 template <typename ExportingConfigT = ExportingConfig>
154 void SetExportingConfig(ExportingConfigT&& value) {
155 m_exportingConfigHasBeenSet = true;
156 m_exportingConfig = std::forward<ExportingConfigT>(value);
157 }
158 template <typename ExportingConfigT = ExportingConfig>
160 SetExportingConfig(std::forward<ExportingConfigT>(value));
161 return *this;
162 }
164 private:
165 bool m_enabled{false};
166
167 Aws::Vector<MatchingRule> m_matchingRules;
168
169 int m_maxAllowedRuleLevelForMerging{0};
170
171 int m_maxAllowedRuleLevelForMatching{0};
172
173 AttributeTypesSelector m_attributeTypesSelector;
174
175 ConflictResolution m_conflictResolution;
176
177 ExportingConfig m_exportingConfig;
178 bool m_enabledHasBeenSet = false;
179 bool m_matchingRulesHasBeenSet = false;
180 bool m_maxAllowedRuleLevelForMergingHasBeenSet = false;
181 bool m_maxAllowedRuleLevelForMatchingHasBeenSet = false;
182 bool m_attributeTypesSelectorHasBeenSet = false;
183 bool m_conflictResolutionHasBeenSet = false;
184 bool m_exportingConfigHasBeenSet = false;
185};
186
187} // namespace Model
188} // namespace CustomerProfiles
189} // namespace Aws
RuleBasedMatchingRequest & WithExportingConfig(ExportingConfigT &&value)
const AttributeTypesSelector & GetAttributeTypesSelector() const
RuleBasedMatchingRequest & WithMatchingRules(MatchingRulesT &&value)
RuleBasedMatchingRequest & WithMaxAllowedRuleLevelForMatching(int value)
RuleBasedMatchingRequest & WithMaxAllowedRuleLevelForMerging(int value)
RuleBasedMatchingRequest & AddMatchingRules(MatchingRulesT &&value)
AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest & operator=(Aws::Utils::Json::JsonView jsonValue)
RuleBasedMatchingRequest & WithAttributeTypesSelector(AttributeTypesSelectorT &&value)
AWS_CUSTOMERPROFILES_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAttributeTypesSelector(AttributeTypesSelectorT &&value)
RuleBasedMatchingRequest & WithConflictResolution(ConflictResolutionT &&value)
AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< MatchingRule > & GetMatchingRules() const
AWS_CUSTOMERPROFILES_API RuleBasedMatchingRequest()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue