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

The search criteria to be used to return queues.

The * name and description fields support "contains" queries * with a minimum of 2 characters and a maximum of 25 characters. Any queries with * character lengths outside of this range will throw invalid results.

*

See Also:

AWS * API Reference

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

A list of conditions which would be applied together with an OR * condition.

*/ inline const Aws::Vector& GetOrConditions() const{ return m_orConditions; } /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline bool OrConditionsHasBeenSet() const { return m_orConditionsHasBeenSet; } /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline void SetOrConditions(const Aws::Vector& value) { m_orConditionsHasBeenSet = true; m_orConditions = value; } /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline void SetOrConditions(Aws::Vector&& value) { m_orConditionsHasBeenSet = true; m_orConditions = std::move(value); } /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline QueueSearchCriteria& WithOrConditions(const Aws::Vector& value) { SetOrConditions(value); return *this;} /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline QueueSearchCriteria& WithOrConditions(Aws::Vector&& value) { SetOrConditions(std::move(value)); return *this;} /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline QueueSearchCriteria& AddOrConditions(const QueueSearchCriteria& value) { m_orConditionsHasBeenSet = true; m_orConditions.push_back(value); return *this; } /** *

A list of conditions which would be applied together with an OR * condition.

*/ inline QueueSearchCriteria& AddOrConditions(QueueSearchCriteria&& value) { m_orConditionsHasBeenSet = true; m_orConditions.push_back(std::move(value)); return *this; } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline const Aws::Vector& GetAndConditions() const{ return m_andConditions; } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline bool AndConditionsHasBeenSet() const { return m_andConditionsHasBeenSet; } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline void SetAndConditions(const Aws::Vector& value) { m_andConditionsHasBeenSet = true; m_andConditions = value; } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline void SetAndConditions(Aws::Vector&& value) { m_andConditionsHasBeenSet = true; m_andConditions = std::move(value); } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline QueueSearchCriteria& WithAndConditions(const Aws::Vector& value) { SetAndConditions(value); return *this;} /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline QueueSearchCriteria& WithAndConditions(Aws::Vector&& value) { SetAndConditions(std::move(value)); return *this;} /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline QueueSearchCriteria& AddAndConditions(const QueueSearchCriteria& value) { m_andConditionsHasBeenSet = true; m_andConditions.push_back(value); return *this; } /** *

A list of conditions which would be applied together with an AND * condition.

*/ inline QueueSearchCriteria& AddAndConditions(QueueSearchCriteria&& value) { m_andConditionsHasBeenSet = true; m_andConditions.push_back(std::move(value)); return *this; } /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline const StringCondition& GetStringCondition() const{ return m_stringCondition; } /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline bool StringConditionHasBeenSet() const { return m_stringConditionHasBeenSet; } /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline void SetStringCondition(const StringCondition& value) { m_stringConditionHasBeenSet = true; m_stringCondition = value; } /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline void SetStringCondition(StringCondition&& value) { m_stringConditionHasBeenSet = true; m_stringCondition = std::move(value); } /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline QueueSearchCriteria& WithStringCondition(const StringCondition& value) { SetStringCondition(value); return *this;} /** *

A leaf node condition which can be used to specify a string condition.

*

The currently supported values for FieldName are * name, description, and resourceID.

* */ inline QueueSearchCriteria& WithStringCondition(StringCondition&& value) { SetStringCondition(std::move(value)); return *this;} /** *

The type of queue.

*/ inline const SearchableQueueType& GetQueueTypeCondition() const{ return m_queueTypeCondition; } /** *

The type of queue.

*/ inline bool QueueTypeConditionHasBeenSet() const { return m_queueTypeConditionHasBeenSet; } /** *

The type of queue.

*/ inline void SetQueueTypeCondition(const SearchableQueueType& value) { m_queueTypeConditionHasBeenSet = true; m_queueTypeCondition = value; } /** *

The type of queue.

*/ inline void SetQueueTypeCondition(SearchableQueueType&& value) { m_queueTypeConditionHasBeenSet = true; m_queueTypeCondition = std::move(value); } /** *

The type of queue.

*/ inline QueueSearchCriteria& WithQueueTypeCondition(const SearchableQueueType& value) { SetQueueTypeCondition(value); return *this;} /** *

The type of queue.

*/ inline QueueSearchCriteria& WithQueueTypeCondition(SearchableQueueType&& value) { SetQueueTypeCondition(std::move(value)); return *this;} private: Aws::Vector m_orConditions; bool m_orConditionsHasBeenSet = false; Aws::Vector m_andConditions; bool m_andConditionsHasBeenSet = false; StringCondition m_stringCondition; bool m_stringConditionHasBeenSet = false; SearchableQueueType m_queueTypeCondition; bool m_queueTypeConditionHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws