/** * 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 users.

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 UserSearchCriteria { public: AWS_CONNECT_API UserSearchCriteria(); AWS_CONNECT_API UserSearchCriteria(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API UserSearchCriteria& 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 UserSearchCriteria& WithOrConditions(const Aws::Vector& value) { SetOrConditions(value); return *this;} /** *

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

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

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

*/ inline UserSearchCriteria& AddOrConditions(const UserSearchCriteria& 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 UserSearchCriteria& AddOrConditions(UserSearchCriteria&& 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 UserSearchCriteria& WithAndConditions(const Aws::Vector& value) { SetAndConditions(value); return *this;} /** *

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

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

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

*/ inline UserSearchCriteria& AddAndConditions(const UserSearchCriteria& 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 UserSearchCriteria& AddAndConditions(UserSearchCriteria&& 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 UserSearchCriteria& 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 UserSearchCriteria& WithStringCondition(StringCondition&& value) { SetStringCondition(std::move(value)); return *this;} /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline const HierarchyGroupCondition& GetHierarchyGroupCondition() const{ return m_hierarchyGroupCondition; } /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline bool HierarchyGroupConditionHasBeenSet() const { return m_hierarchyGroupConditionHasBeenSet; } /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline void SetHierarchyGroupCondition(const HierarchyGroupCondition& value) { m_hierarchyGroupConditionHasBeenSet = true; m_hierarchyGroupCondition = value; } /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline void SetHierarchyGroupCondition(HierarchyGroupCondition&& value) { m_hierarchyGroupConditionHasBeenSet = true; m_hierarchyGroupCondition = std::move(value); } /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline UserSearchCriteria& WithHierarchyGroupCondition(const HierarchyGroupCondition& value) { SetHierarchyGroupCondition(value); return *this;} /** *

A leaf node condition which can be used to specify a hierarchy group * condition.

*/ inline UserSearchCriteria& WithHierarchyGroupCondition(HierarchyGroupCondition&& value) { SetHierarchyGroupCondition(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; HierarchyGroupCondition m_hierarchyGroupCondition; bool m_hierarchyGroupConditionHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws