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

A Field of the channel that you want to search.

See * Also:

AWS * API Reference

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

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline const SearchFieldKey& GetKey() const{ return m_key; } /** *

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline void SetKey(const SearchFieldKey& value) { m_keyHasBeenSet = true; m_key = value; } /** *

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline void SetKey(SearchFieldKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline SearchField& WithKey(const SearchFieldKey& value) { SetKey(value); return *this;} /** *

An enum value that indicates the key to search the channel on. * MEMBERS allows you to search channels based on memberships. You can * use it with the EQUALS operator to get channels whose memberships * are equal to the specified values, and with the INCLUDES operator * to get channels whose memberships include the specified values.

*/ inline SearchField& WithKey(SearchFieldKey&& value) { SetKey(std::move(value)); return *this;} /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline const Aws::Vector& GetValues() const{ return m_values; } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline SearchField& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline SearchField& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline SearchField& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline SearchField& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** *

The values that you want to search for, a list of strings. The values must be * AppInstanceUserArns specified as a list of strings.

*

This operation isn't supported for AppInstanceUsers with large * number of memberships.

*/ inline SearchField& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline const SearchFieldOperator& GetOperator() const{ return m_operator; } /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline void SetOperator(const SearchFieldOperator& value) { m_operatorHasBeenSet = true; m_operator = value; } /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline void SetOperator(SearchFieldOperator&& value) { m_operatorHasBeenSet = true; m_operator = std::move(value); } /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline SearchField& WithOperator(const SearchFieldOperator& value) { SetOperator(value); return *this;} /** *

The operator used to compare field values, currently EQUALS or * INCLUDES. Use the EQUALS operator to find channels * whose memberships equal the specified values. Use the INCLUDES * operator to find channels whose memberships include the specified values.

*/ inline SearchField& WithOperator(SearchFieldOperator&& value) { SetOperator(std::move(value)); return *this;} private: SearchFieldKey m_key; bool m_keyHasBeenSet = false; Aws::Vector m_values; bool m_valuesHasBeenSet = false; SearchFieldOperator m_operator; bool m_operatorHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMessaging } // namespace Aws