/** * 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 kendra { namespace Model { /** *

Provides the configuration information for the document fields/attributes * that you want to base query suggestions on.

See Also:

AWS * API Reference

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

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline const Aws::Vector& GetSuggestionAttributes() const{ return m_suggestionAttributes; } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline bool SuggestionAttributesHasBeenSet() const { return m_suggestionAttributesHasBeenSet; } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline void SetSuggestionAttributes(const Aws::Vector& value) { m_suggestionAttributesHasBeenSet = true; m_suggestionAttributes = value; } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline void SetSuggestionAttributes(Aws::Vector&& value) { m_suggestionAttributesHasBeenSet = true; m_suggestionAttributes = std::move(value); } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline AttributeSuggestionsGetConfig& WithSuggestionAttributes(const Aws::Vector& value) { SetSuggestionAttributes(value); return *this;} /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline AttributeSuggestionsGetConfig& WithSuggestionAttributes(Aws::Vector&& value) { SetSuggestionAttributes(std::move(value)); return *this;} /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline AttributeSuggestionsGetConfig& AddSuggestionAttributes(const Aws::String& value) { m_suggestionAttributesHasBeenSet = true; m_suggestionAttributes.push_back(value); return *this; } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline AttributeSuggestionsGetConfig& AddSuggestionAttributes(Aws::String&& value) { m_suggestionAttributesHasBeenSet = true; m_suggestionAttributes.push_back(std::move(value)); return *this; } /** *

The list of document field/attribute keys or field names to use for query * suggestions. If the content within any of the fields match what your user starts * typing as their query, then the field content is returned as a query * suggestion.

*/ inline AttributeSuggestionsGetConfig& AddSuggestionAttributes(const char* value) { m_suggestionAttributesHasBeenSet = true; m_suggestionAttributes.push_back(value); return *this; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline const Aws::Vector& GetAdditionalResponseAttributes() const{ return m_additionalResponseAttributes; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline bool AdditionalResponseAttributesHasBeenSet() const { return m_additionalResponseAttributesHasBeenSet; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline void SetAdditionalResponseAttributes(const Aws::Vector& value) { m_additionalResponseAttributesHasBeenSet = true; m_additionalResponseAttributes = value; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline void SetAdditionalResponseAttributes(Aws::Vector&& value) { m_additionalResponseAttributesHasBeenSet = true; m_additionalResponseAttributes = std::move(value); } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline AttributeSuggestionsGetConfig& WithAdditionalResponseAttributes(const Aws::Vector& value) { SetAdditionalResponseAttributes(value); return *this;} /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline AttributeSuggestionsGetConfig& WithAdditionalResponseAttributes(Aws::Vector&& value) { SetAdditionalResponseAttributes(std::move(value)); return *this;} /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline AttributeSuggestionsGetConfig& AddAdditionalResponseAttributes(const Aws::String& value) { m_additionalResponseAttributesHasBeenSet = true; m_additionalResponseAttributes.push_back(value); return *this; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline AttributeSuggestionsGetConfig& AddAdditionalResponseAttributes(Aws::String&& value) { m_additionalResponseAttributesHasBeenSet = true; m_additionalResponseAttributes.push_back(std::move(value)); return *this; } /** *

The list of additional document field/attribute keys or field names to * include in the response. You can use additional fields to provide extra * information in the response. Additional fields are not used to based suggestions * on.

*/ inline AttributeSuggestionsGetConfig& AddAdditionalResponseAttributes(const char* value) { m_additionalResponseAttributesHasBeenSet = true; m_additionalResponseAttributes.push_back(value); return *this; } /** *

Filters the search results based on document fields/attributes.

*/ inline const AttributeFilter& GetAttributeFilter() const{ return m_attributeFilter; } /** *

Filters the search results based on document fields/attributes.

*/ inline bool AttributeFilterHasBeenSet() const { return m_attributeFilterHasBeenSet; } /** *

Filters the search results based on document fields/attributes.

*/ inline void SetAttributeFilter(const AttributeFilter& value) { m_attributeFilterHasBeenSet = true; m_attributeFilter = value; } /** *

Filters the search results based on document fields/attributes.

*/ inline void SetAttributeFilter(AttributeFilter&& value) { m_attributeFilterHasBeenSet = true; m_attributeFilter = std::move(value); } /** *

Filters the search results based on document fields/attributes.

*/ inline AttributeSuggestionsGetConfig& WithAttributeFilter(const AttributeFilter& value) { SetAttributeFilter(value); return *this;} /** *

Filters the search results based on document fields/attributes.

*/ inline AttributeSuggestionsGetConfig& WithAttributeFilter(AttributeFilter&& value) { SetAttributeFilter(std::move(value)); return *this;} /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline const UserContext& GetUserContext() const{ return m_userContext; } /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline bool UserContextHasBeenSet() const { return m_userContextHasBeenSet; } /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline void SetUserContext(const UserContext& value) { m_userContextHasBeenSet = true; m_userContext = value; } /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline void SetUserContext(UserContext&& value) { m_userContextHasBeenSet = true; m_userContext = std::move(value); } /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline AttributeSuggestionsGetConfig& WithUserContext(const UserContext& value) { SetUserContext(value); return *this;} /** *

Applies user context filtering so that only users who are given access to * certain documents see these document in their search results.

*/ inline AttributeSuggestionsGetConfig& WithUserContext(UserContext&& value) { SetUserContext(std::move(value)); return *this;} private: Aws::Vector m_suggestionAttributes; bool m_suggestionAttributesHasBeenSet = false; Aws::Vector m_additionalResponseAttributes; bool m_additionalResponseAttributesHasBeenSet = false; AttributeFilter m_attributeFilter; bool m_attributeFilterHasBeenSet = false; UserContext m_userContext; bool m_userContextHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws