AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
SearchCriteria.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/model/AgentHierarchyGroups.h>
9#include <aws/connect/model/Channel.h>
10#include <aws/connect/model/ContactAnalysis.h>
11#include <aws/connect/model/ContactInitiationMethod.h>
12#include <aws/connect/model/ControlPlaneTagFilter.h>
13#include <aws/connect/model/NameCriteria.h>
14#include <aws/connect/model/SearchContactsAdditionalTimeRange.h>
15#include <aws/connect/model/SearchableContactAttributes.h>
16#include <aws/connect/model/SearchableRoutingCriteria.h>
17#include <aws/connect/model/SearchableSegmentAttributes.h>
18#include <aws/core/utils/memory/stl/AWSString.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Json {
26class JsonValue;
27class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace Connect {
31namespace Model {
32
40 public:
41 AWS_CONNECT_API SearchCriteria() = default;
42 AWS_CONNECT_API SearchCriteria(Aws::Utils::Json::JsonView jsonValue);
44 AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
45
47
50 inline const NameCriteria& GetName() const { return m_name; }
51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
52 template <typename NameT = NameCriteria>
53 void SetName(NameT&& value) {
54 m_nameHasBeenSet = true;
55 m_name = std::forward<NameT>(value);
56 }
57 template <typename NameT = NameCriteria>
58 SearchCriteria& WithName(NameT&& value) {
59 SetName(std::forward<NameT>(value));
60 return *this;
61 }
63
65
68 inline const Aws::Vector<Aws::String>& GetAgentIds() const { return m_agentIds; }
69 inline bool AgentIdsHasBeenSet() const { return m_agentIdsHasBeenSet; }
70 template <typename AgentIdsT = Aws::Vector<Aws::String>>
71 void SetAgentIds(AgentIdsT&& value) {
72 m_agentIdsHasBeenSet = true;
73 m_agentIds = std::forward<AgentIdsT>(value);
74 }
75 template <typename AgentIdsT = Aws::Vector<Aws::String>>
76 SearchCriteria& WithAgentIds(AgentIdsT&& value) {
77 SetAgentIds(std::forward<AgentIdsT>(value));
78 return *this;
79 }
80 template <typename AgentIdsT = Aws::String>
81 SearchCriteria& AddAgentIds(AgentIdsT&& value) {
82 m_agentIdsHasBeenSet = true;
83 m_agentIds.emplace_back(std::forward<AgentIdsT>(value));
84 return *this;
85 }
87
89
93 inline const AgentHierarchyGroups& GetAgentHierarchyGroups() const { return m_agentHierarchyGroups; }
94 inline bool AgentHierarchyGroupsHasBeenSet() const { return m_agentHierarchyGroupsHasBeenSet; }
95 template <typename AgentHierarchyGroupsT = AgentHierarchyGroups>
96 void SetAgentHierarchyGroups(AgentHierarchyGroupsT&& value) {
97 m_agentHierarchyGroupsHasBeenSet = true;
98 m_agentHierarchyGroups = std::forward<AgentHierarchyGroupsT>(value);
99 }
100 template <typename AgentHierarchyGroupsT = AgentHierarchyGroups>
101 SearchCriteria& WithAgentHierarchyGroups(AgentHierarchyGroupsT&& value) {
102 SetAgentHierarchyGroups(std::forward<AgentHierarchyGroupsT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::Vector<Channel>& GetChannels() const { return m_channels; }
112 inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; }
113 template <typename ChannelsT = Aws::Vector<Channel>>
114 void SetChannels(ChannelsT&& value) {
115 m_channelsHasBeenSet = true;
116 m_channels = std::forward<ChannelsT>(value);
117 }
118 template <typename ChannelsT = Aws::Vector<Channel>>
119 SearchCriteria& WithChannels(ChannelsT&& value) {
120 SetChannels(std::forward<ChannelsT>(value));
121 return *this;
122 }
124 m_channelsHasBeenSet = true;
125 m_channels.push_back(value);
126 return *this;
127 }
129
131
135 inline const ContactAnalysis& GetContactAnalysis() const { return m_contactAnalysis; }
136 inline bool ContactAnalysisHasBeenSet() const { return m_contactAnalysisHasBeenSet; }
137 template <typename ContactAnalysisT = ContactAnalysis>
138 void SetContactAnalysis(ContactAnalysisT&& value) {
139 m_contactAnalysisHasBeenSet = true;
140 m_contactAnalysis = std::forward<ContactAnalysisT>(value);
141 }
142 template <typename ContactAnalysisT = ContactAnalysis>
143 SearchCriteria& WithContactAnalysis(ContactAnalysisT&& value) {
144 SetContactAnalysis(std::forward<ContactAnalysisT>(value));
145 return *this;
146 }
148
150
153 inline const Aws::Vector<ContactInitiationMethod>& GetInitiationMethods() const { return m_initiationMethods; }
154 inline bool InitiationMethodsHasBeenSet() const { return m_initiationMethodsHasBeenSet; }
155 template <typename InitiationMethodsT = Aws::Vector<ContactInitiationMethod>>
156 void SetInitiationMethods(InitiationMethodsT&& value) {
157 m_initiationMethodsHasBeenSet = true;
158 m_initiationMethods = std::forward<InitiationMethodsT>(value);
159 }
160 template <typename InitiationMethodsT = Aws::Vector<ContactInitiationMethod>>
161 SearchCriteria& WithInitiationMethods(InitiationMethodsT&& value) {
162 SetInitiationMethods(std::forward<InitiationMethodsT>(value));
163 return *this;
164 }
166 m_initiationMethodsHasBeenSet = true;
167 m_initiationMethods.push_back(value);
168 return *this;
169 }
171
173
176 inline const Aws::Vector<Aws::String>& GetQueueIds() const { return m_queueIds; }
177 inline bool QueueIdsHasBeenSet() const { return m_queueIdsHasBeenSet; }
178 template <typename QueueIdsT = Aws::Vector<Aws::String>>
179 void SetQueueIds(QueueIdsT&& value) {
180 m_queueIdsHasBeenSet = true;
181 m_queueIds = std::forward<QueueIdsT>(value);
182 }
183 template <typename QueueIdsT = Aws::Vector<Aws::String>>
184 SearchCriteria& WithQueueIds(QueueIdsT&& value) {
185 SetQueueIds(std::forward<QueueIdsT>(value));
186 return *this;
187 }
188 template <typename QueueIdsT = Aws::String>
189 SearchCriteria& AddQueueIds(QueueIdsT&& value) {
190 m_queueIdsHasBeenSet = true;
191 m_queueIds.emplace_back(std::forward<QueueIdsT>(value));
192 return *this;
193 }
195
197
200 inline const SearchableRoutingCriteria& GetRoutingCriteria() const { return m_routingCriteria; }
201 inline bool RoutingCriteriaHasBeenSet() const { return m_routingCriteriaHasBeenSet; }
202 template <typename RoutingCriteriaT = SearchableRoutingCriteria>
203 void SetRoutingCriteria(RoutingCriteriaT&& value) {
204 m_routingCriteriaHasBeenSet = true;
205 m_routingCriteria = std::forward<RoutingCriteriaT>(value);
206 }
207 template <typename RoutingCriteriaT = SearchableRoutingCriteria>
208 SearchCriteria& WithRoutingCriteria(RoutingCriteriaT&& value) {
209 SetRoutingCriteria(std::forward<RoutingCriteriaT>(value));
210 return *this;
211 }
213
215
218 inline const SearchContactsAdditionalTimeRange& GetAdditionalTimeRange() const { return m_additionalTimeRange; }
219 inline bool AdditionalTimeRangeHasBeenSet() const { return m_additionalTimeRangeHasBeenSet; }
220 template <typename AdditionalTimeRangeT = SearchContactsAdditionalTimeRange>
221 void SetAdditionalTimeRange(AdditionalTimeRangeT&& value) {
222 m_additionalTimeRangeHasBeenSet = true;
223 m_additionalTimeRange = std::forward<AdditionalTimeRangeT>(value);
224 }
225 template <typename AdditionalTimeRangeT = SearchContactsAdditionalTimeRange>
226 SearchCriteria& WithAdditionalTimeRange(AdditionalTimeRangeT&& value) {
227 SetAdditionalTimeRange(std::forward<AdditionalTimeRangeT>(value));
228 return *this;
229 }
231
233
244 inline const SearchableContactAttributes& GetSearchableContactAttributes() const { return m_searchableContactAttributes; }
245 inline bool SearchableContactAttributesHasBeenSet() const { return m_searchableContactAttributesHasBeenSet; }
246 template <typename SearchableContactAttributesT = SearchableContactAttributes>
247 void SetSearchableContactAttributes(SearchableContactAttributesT&& value) {
248 m_searchableContactAttributesHasBeenSet = true;
249 m_searchableContactAttributes = std::forward<SearchableContactAttributesT>(value);
250 }
251 template <typename SearchableContactAttributesT = SearchableContactAttributes>
252 SearchCriteria& WithSearchableContactAttributes(SearchableContactAttributesT&& value) {
253 SetSearchableContactAttributes(std::forward<SearchableContactAttributesT>(value));
254 return *this;
255 }
257
259
262 inline const SearchableSegmentAttributes& GetSearchableSegmentAttributes() const { return m_searchableSegmentAttributes; }
263 inline bool SearchableSegmentAttributesHasBeenSet() const { return m_searchableSegmentAttributesHasBeenSet; }
264 template <typename SearchableSegmentAttributesT = SearchableSegmentAttributes>
265 void SetSearchableSegmentAttributes(SearchableSegmentAttributesT&& value) {
266 m_searchableSegmentAttributesHasBeenSet = true;
267 m_searchableSegmentAttributes = std::forward<SearchableSegmentAttributesT>(value);
268 }
269 template <typename SearchableSegmentAttributesT = SearchableSegmentAttributes>
270 SearchCriteria& WithSearchableSegmentAttributes(SearchableSegmentAttributesT&& value) {
271 SetSearchableSegmentAttributes(std::forward<SearchableSegmentAttributesT>(value));
272 return *this;
273 }
275
277
280 inline const Aws::Vector<Aws::String>& GetActiveRegions() const { return m_activeRegions; }
281 inline bool ActiveRegionsHasBeenSet() const { return m_activeRegionsHasBeenSet; }
282 template <typename ActiveRegionsT = Aws::Vector<Aws::String>>
283 void SetActiveRegions(ActiveRegionsT&& value) {
284 m_activeRegionsHasBeenSet = true;
285 m_activeRegions = std::forward<ActiveRegionsT>(value);
286 }
287 template <typename ActiveRegionsT = Aws::Vector<Aws::String>>
288 SearchCriteria& WithActiveRegions(ActiveRegionsT&& value) {
289 SetActiveRegions(std::forward<ActiveRegionsT>(value));
290 return *this;
291 }
292 template <typename ActiveRegionsT = Aws::String>
293 SearchCriteria& AddActiveRegions(ActiveRegionsT&& value) {
294 m_activeRegionsHasBeenSet = true;
295 m_activeRegions.emplace_back(std::forward<ActiveRegionsT>(value));
296 return *this;
297 }
299
301
302 inline const ControlPlaneTagFilter& GetContactTags() const { return m_contactTags; }
303 inline bool ContactTagsHasBeenSet() const { return m_contactTagsHasBeenSet; }
304 template <typename ContactTagsT = ControlPlaneTagFilter>
305 void SetContactTags(ContactTagsT&& value) {
306 m_contactTagsHasBeenSet = true;
307 m_contactTags = std::forward<ContactTagsT>(value);
308 }
309 template <typename ContactTagsT = ControlPlaneTagFilter>
310 SearchCriteria& WithContactTags(ContactTagsT&& value) {
311 SetContactTags(std::forward<ContactTagsT>(value));
312 return *this;
313 }
315 private:
316 NameCriteria m_name;
317
318 Aws::Vector<Aws::String> m_agentIds;
319
320 AgentHierarchyGroups m_agentHierarchyGroups;
321
322 Aws::Vector<Channel> m_channels;
323
324 ContactAnalysis m_contactAnalysis;
325
326 Aws::Vector<ContactInitiationMethod> m_initiationMethods;
327
328 Aws::Vector<Aws::String> m_queueIds;
329
330 SearchableRoutingCriteria m_routingCriteria;
331
332 SearchContactsAdditionalTimeRange m_additionalTimeRange;
333
334 SearchableContactAttributes m_searchableContactAttributes;
335
336 SearchableSegmentAttributes m_searchableSegmentAttributes;
337
338 Aws::Vector<Aws::String> m_activeRegions;
339
340 ControlPlaneTagFilter m_contactTags;
341 bool m_nameHasBeenSet = false;
342 bool m_agentIdsHasBeenSet = false;
343 bool m_agentHierarchyGroupsHasBeenSet = false;
344 bool m_channelsHasBeenSet = false;
345 bool m_contactAnalysisHasBeenSet = false;
346 bool m_initiationMethodsHasBeenSet = false;
347 bool m_queueIdsHasBeenSet = false;
348 bool m_routingCriteriaHasBeenSet = false;
349 bool m_additionalTimeRangeHasBeenSet = false;
350 bool m_searchableContactAttributesHasBeenSet = false;
351 bool m_searchableSegmentAttributesHasBeenSet = false;
352 bool m_activeRegionsHasBeenSet = false;
353 bool m_contactTagsHasBeenSet = false;
354};
355
356} // namespace Model
357} // namespace Connect
358} // namespace Aws
SearchCriteria & WithChannels(ChannelsT &&value)
AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Aws::String > & GetAgentIds() const
void SetQueueIds(QueueIdsT &&value)
SearchCriteria & AddQueueIds(QueueIdsT &&value)
AWS_CONNECT_API SearchCriteria & operator=(Aws::Utils::Json::JsonView jsonValue)
const NameCriteria & GetName() const
const SearchableRoutingCriteria & GetRoutingCriteria() const
SearchCriteria & AddAgentIds(AgentIdsT &&value)
SearchCriteria & WithContactAnalysis(ContactAnalysisT &&value)
SearchCriteria & WithInitiationMethods(InitiationMethodsT &&value)
SearchCriteria & AddActiveRegions(ActiveRegionsT &&value)
void SetContactAnalysis(ContactAnalysisT &&value)
SearchCriteria & WithContactTags(ContactTagsT &&value)
SearchCriteria & WithSearchableContactAttributes(SearchableContactAttributesT &&value)
const SearchableContactAttributes & GetSearchableContactAttributes() const
SearchCriteria & WithAdditionalTimeRange(AdditionalTimeRangeT &&value)
AWS_CONNECT_API SearchCriteria()=default
SearchCriteria & WithRoutingCriteria(RoutingCriteriaT &&value)
SearchCriteria & AddChannels(Channel value)
SearchCriteria & WithAgentIds(AgentIdsT &&value)
const Aws::Vector< Aws::String > & GetQueueIds() const
const SearchableSegmentAttributes & GetSearchableSegmentAttributes() const
void SetRoutingCriteria(RoutingCriteriaT &&value)
AWS_CONNECT_API SearchCriteria(Aws::Utils::Json::JsonView jsonValue)
SearchCriteria & WithSearchableSegmentAttributes(SearchableSegmentAttributesT &&value)
void SetSearchableSegmentAttributes(SearchableSegmentAttributesT &&value)
const Aws::Vector< ContactInitiationMethod > & GetInitiationMethods() const
SearchCriteria & AddInitiationMethods(ContactInitiationMethod value)
const Aws::Vector< Aws::String > & GetActiveRegions() const
void SetAgentHierarchyGroups(AgentHierarchyGroupsT &&value)
void SetInitiationMethods(InitiationMethodsT &&value)
SearchCriteria & WithName(NameT &&value)
void SetSearchableContactAttributes(SearchableContactAttributesT &&value)
const AgentHierarchyGroups & GetAgentHierarchyGroups() const
void SetAgentIds(AgentIdsT &&value)
const ControlPlaneTagFilter & GetContactTags() const
const Aws::Vector< Channel > & GetChannels() const
void SetChannels(ChannelsT &&value)
void SetContactTags(ContactTagsT &&value)
void SetActiveRegions(ActiveRegionsT &&value)
SearchCriteria & WithActiveRegions(ActiveRegionsT &&value)
const ContactAnalysis & GetContactAnalysis() const
const SearchContactsAdditionalTimeRange & GetAdditionalTimeRange() const
SearchCriteria & WithQueueIds(QueueIdsT &&value)
void SetAdditionalTimeRange(AdditionalTimeRangeT &&value)
SearchCriteria & WithAgentHierarchyGroups(AgentHierarchyGroupsT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue