1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/lexv2-models/LexModelsV2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace LexModelsV2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Provides configuration information for the AMAZON.KendraSearchIntent intent. 28 * When you use this intent, Amazon Lex searches the specified Amazon Kendra index 29 * and returns documents from the index that match the user's 30 * utterance.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/KendraConfiguration">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_LEXMODELSV2_API KendraConfiguration 35 { 36 public: 37 KendraConfiguration(); 38 KendraConfiguration(Aws::Utils::Json::JsonView jsonValue); 39 KendraConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 45 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 46 * account and Region as the Amazon Lex bot.</p> 47 */ GetKendraIndex()48 inline const Aws::String& GetKendraIndex() const{ return m_kendraIndex; } 49 50 /** 51 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 52 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 53 * account and Region as the Amazon Lex bot.</p> 54 */ KendraIndexHasBeenSet()55 inline bool KendraIndexHasBeenSet() const { return m_kendraIndexHasBeenSet; } 56 57 /** 58 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 59 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 60 * account and Region as the Amazon Lex bot.</p> 61 */ SetKendraIndex(const Aws::String & value)62 inline void SetKendraIndex(const Aws::String& value) { m_kendraIndexHasBeenSet = true; m_kendraIndex = value; } 63 64 /** 65 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 66 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 67 * account and Region as the Amazon Lex bot.</p> 68 */ SetKendraIndex(Aws::String && value)69 inline void SetKendraIndex(Aws::String&& value) { m_kendraIndexHasBeenSet = true; m_kendraIndex = std::move(value); } 70 71 /** 72 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 73 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 74 * account and Region as the Amazon Lex bot.</p> 75 */ SetKendraIndex(const char * value)76 inline void SetKendraIndex(const char* value) { m_kendraIndexHasBeenSet = true; m_kendraIndex.assign(value); } 77 78 /** 79 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 80 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 81 * account and Region as the Amazon Lex bot.</p> 82 */ WithKendraIndex(const Aws::String & value)83 inline KendraConfiguration& WithKendraIndex(const Aws::String& value) { SetKendraIndex(value); return *this;} 84 85 /** 86 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 87 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 88 * account and Region as the Amazon Lex bot.</p> 89 */ WithKendraIndex(Aws::String && value)90 inline KendraConfiguration& WithKendraIndex(Aws::String&& value) { SetKendraIndex(std::move(value)); return *this;} 91 92 /** 93 * <p>The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 94 * AMAZON.KendraSearchIntent intent to search. The index must be in the same 95 * account and Region as the Amazon Lex bot.</p> 96 */ WithKendraIndex(const char * value)97 inline KendraConfiguration& WithKendraIndex(const char* value) { SetKendraIndex(value); return *this;} 98 99 100 /** 101 * <p>Determines whether the AMAZON.KendraSearchIntent intent uses a custom query 102 * string to query the Amazon Kendra index.</p> 103 */ GetQueryFilterStringEnabled()104 inline bool GetQueryFilterStringEnabled() const{ return m_queryFilterStringEnabled; } 105 106 /** 107 * <p>Determines whether the AMAZON.KendraSearchIntent intent uses a custom query 108 * string to query the Amazon Kendra index.</p> 109 */ QueryFilterStringEnabledHasBeenSet()110 inline bool QueryFilterStringEnabledHasBeenSet() const { return m_queryFilterStringEnabledHasBeenSet; } 111 112 /** 113 * <p>Determines whether the AMAZON.KendraSearchIntent intent uses a custom query 114 * string to query the Amazon Kendra index.</p> 115 */ SetQueryFilterStringEnabled(bool value)116 inline void SetQueryFilterStringEnabled(bool value) { m_queryFilterStringEnabledHasBeenSet = true; m_queryFilterStringEnabled = value; } 117 118 /** 119 * <p>Determines whether the AMAZON.KendraSearchIntent intent uses a custom query 120 * string to query the Amazon Kendra index.</p> 121 */ WithQueryFilterStringEnabled(bool value)122 inline KendraConfiguration& WithQueryFilterStringEnabled(bool value) { SetQueryFilterStringEnabled(value); return *this;} 123 124 125 /** 126 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 127 * from a query. The filter is in the format defined by Amazon Kendra. For more 128 * information, see <a 129 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 130 * queries</a>.</p> 131 */ GetQueryFilterString()132 inline const Aws::String& GetQueryFilterString() const{ return m_queryFilterString; } 133 134 /** 135 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 136 * from a query. The filter is in the format defined by Amazon Kendra. For more 137 * information, see <a 138 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 139 * queries</a>.</p> 140 */ QueryFilterStringHasBeenSet()141 inline bool QueryFilterStringHasBeenSet() const { return m_queryFilterStringHasBeenSet; } 142 143 /** 144 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 145 * from a query. The filter is in the format defined by Amazon Kendra. For more 146 * information, see <a 147 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 148 * queries</a>.</p> 149 */ SetQueryFilterString(const Aws::String & value)150 inline void SetQueryFilterString(const Aws::String& value) { m_queryFilterStringHasBeenSet = true; m_queryFilterString = value; } 151 152 /** 153 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 154 * from a query. The filter is in the format defined by Amazon Kendra. For more 155 * information, see <a 156 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 157 * queries</a>.</p> 158 */ SetQueryFilterString(Aws::String && value)159 inline void SetQueryFilterString(Aws::String&& value) { m_queryFilterStringHasBeenSet = true; m_queryFilterString = std::move(value); } 160 161 /** 162 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 163 * from a query. The filter is in the format defined by Amazon Kendra. For more 164 * information, see <a 165 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 166 * queries</a>.</p> 167 */ SetQueryFilterString(const char * value)168 inline void SetQueryFilterString(const char* value) { m_queryFilterStringHasBeenSet = true; m_queryFilterString.assign(value); } 169 170 /** 171 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 172 * from a query. The filter is in the format defined by Amazon Kendra. For more 173 * information, see <a 174 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 175 * queries</a>.</p> 176 */ WithQueryFilterString(const Aws::String & value)177 inline KendraConfiguration& WithQueryFilterString(const Aws::String& value) { SetQueryFilterString(value); return *this;} 178 179 /** 180 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 181 * from a query. The filter is in the format defined by Amazon Kendra. For more 182 * information, see <a 183 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 184 * queries</a>.</p> 185 */ WithQueryFilterString(Aws::String && value)186 inline KendraConfiguration& WithQueryFilterString(Aws::String&& value) { SetQueryFilterString(std::move(value)); return *this;} 187 188 /** 189 * <p>A query filter that Amazon Lex sends to Amazon Kendra to filter the response 190 * from a query. The filter is in the format defined by Amazon Kendra. For more 191 * information, see <a 192 * href="https://docs.aws.amazon.com/kendra/latest/dg/filtering.html">Filtering 193 * queries</a>.</p> 194 */ WithQueryFilterString(const char * value)195 inline KendraConfiguration& WithQueryFilterString(const char* value) { SetQueryFilterString(value); return *this;} 196 197 private: 198 199 Aws::String m_kendraIndex; 200 bool m_kendraIndexHasBeenSet; 201 202 bool m_queryFilterStringEnabled; 203 bool m_queryFilterStringEnabledHasBeenSet; 204 205 Aws::String m_queryFilterString; 206 bool m_queryFilterStringHasBeenSet; 207 }; 208 209 } // namespace Model 210 } // namespace LexModelsV2 211 } // namespace Aws 212