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/kendra/Kendra_EXPORTS.h> 8 #include <aws/kendra/KendraRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/kendra/model/S3Path.h> 12 #include <aws/kendra/model/Tag.h> 13 #include <utility> 14 #include <aws/core/utils/UUID.h> 15 16 namespace Aws 17 { 18 namespace kendra 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_KENDRA_API CreateThesaurusRequest : public KendraRequest 26 { 27 public: 28 CreateThesaurusRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "CreateThesaurus"; } 35 36 Aws::String SerializePayload() const override; 37 38 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 39 40 41 /** 42 * <p>The unique identifier of the index for the new thesaurus. </p> 43 */ GetIndexId()44 inline const Aws::String& GetIndexId() const{ return m_indexId; } 45 46 /** 47 * <p>The unique identifier of the index for the new thesaurus. </p> 48 */ IndexIdHasBeenSet()49 inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; } 50 51 /** 52 * <p>The unique identifier of the index for the new thesaurus. </p> 53 */ SetIndexId(const Aws::String & value)54 inline void SetIndexId(const Aws::String& value) { m_indexIdHasBeenSet = true; m_indexId = value; } 55 56 /** 57 * <p>The unique identifier of the index for the new thesaurus. </p> 58 */ SetIndexId(Aws::String && value)59 inline void SetIndexId(Aws::String&& value) { m_indexIdHasBeenSet = true; m_indexId = std::move(value); } 60 61 /** 62 * <p>The unique identifier of the index for the new thesaurus. </p> 63 */ SetIndexId(const char * value)64 inline void SetIndexId(const char* value) { m_indexIdHasBeenSet = true; m_indexId.assign(value); } 65 66 /** 67 * <p>The unique identifier of the index for the new thesaurus. </p> 68 */ WithIndexId(const Aws::String & value)69 inline CreateThesaurusRequest& WithIndexId(const Aws::String& value) { SetIndexId(value); return *this;} 70 71 /** 72 * <p>The unique identifier of the index for the new thesaurus. </p> 73 */ WithIndexId(Aws::String && value)74 inline CreateThesaurusRequest& WithIndexId(Aws::String&& value) { SetIndexId(std::move(value)); return *this;} 75 76 /** 77 * <p>The unique identifier of the index for the new thesaurus. </p> 78 */ WithIndexId(const char * value)79 inline CreateThesaurusRequest& WithIndexId(const char* value) { SetIndexId(value); return *this;} 80 81 82 /** 83 * <p>The name for the new thesaurus.</p> 84 */ GetName()85 inline const Aws::String& GetName() const{ return m_name; } 86 87 /** 88 * <p>The name for the new thesaurus.</p> 89 */ NameHasBeenSet()90 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 91 92 /** 93 * <p>The name for the new thesaurus.</p> 94 */ SetName(const Aws::String & value)95 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 96 97 /** 98 * <p>The name for the new thesaurus.</p> 99 */ SetName(Aws::String && value)100 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 101 102 /** 103 * <p>The name for the new thesaurus.</p> 104 */ SetName(const char * value)105 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 106 107 /** 108 * <p>The name for the new thesaurus.</p> 109 */ WithName(const Aws::String & value)110 inline CreateThesaurusRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 111 112 /** 113 * <p>The name for the new thesaurus.</p> 114 */ WithName(Aws::String && value)115 inline CreateThesaurusRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 116 117 /** 118 * <p>The name for the new thesaurus.</p> 119 */ WithName(const char * value)120 inline CreateThesaurusRequest& WithName(const char* value) { SetName(value); return *this;} 121 122 123 /** 124 * <p>The description for the new thesaurus.</p> 125 */ GetDescription()126 inline const Aws::String& GetDescription() const{ return m_description; } 127 128 /** 129 * <p>The description for the new thesaurus.</p> 130 */ DescriptionHasBeenSet()131 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 132 133 /** 134 * <p>The description for the new thesaurus.</p> 135 */ SetDescription(const Aws::String & value)136 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 137 138 /** 139 * <p>The description for the new thesaurus.</p> 140 */ SetDescription(Aws::String && value)141 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 142 143 /** 144 * <p>The description for the new thesaurus.</p> 145 */ SetDescription(const char * value)146 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 147 148 /** 149 * <p>The description for the new thesaurus.</p> 150 */ WithDescription(const Aws::String & value)151 inline CreateThesaurusRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 152 153 /** 154 * <p>The description for the new thesaurus.</p> 155 */ WithDescription(Aws::String && value)156 inline CreateThesaurusRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 157 158 /** 159 * <p>The description for the new thesaurus.</p> 160 */ WithDescription(const char * value)161 inline CreateThesaurusRequest& WithDescription(const char* value) { SetDescription(value); return *this;} 162 163 164 /** 165 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 166 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 167 * </p> 168 */ GetRoleArn()169 inline const Aws::String& GetRoleArn() const{ return m_roleArn; } 170 171 /** 172 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 173 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 174 * </p> 175 */ RoleArnHasBeenSet()176 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } 177 178 /** 179 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 180 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 181 * </p> 182 */ SetRoleArn(const Aws::String & value)183 inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } 184 185 /** 186 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 187 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 188 * </p> 189 */ SetRoleArn(Aws::String && value)190 inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } 191 192 /** 193 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 194 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 195 * </p> 196 */ SetRoleArn(const char * value)197 inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } 198 199 /** 200 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 201 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 202 * </p> 203 */ WithRoleArn(const Aws::String & value)204 inline CreateThesaurusRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} 205 206 /** 207 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 208 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 209 * </p> 210 */ WithRoleArn(Aws::String && value)211 inline CreateThesaurusRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} 212 213 /** 214 * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra 215 * permissions to access thesaurus file specified in <code>SourceS3Path</code>. 216 * </p> 217 */ WithRoleArn(const char * value)218 inline CreateThesaurusRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} 219 220 221 /** 222 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 223 * to identify and organize your resources and to control access to resources. </p> 224 */ GetTags()225 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 226 227 /** 228 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 229 * to identify and organize your resources and to control access to resources. </p> 230 */ TagsHasBeenSet()231 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 232 233 /** 234 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 235 * to identify and organize your resources and to control access to resources. </p> 236 */ SetTags(const Aws::Vector<Tag> & value)237 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 238 239 /** 240 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 241 * to identify and organize your resources and to control access to resources. </p> 242 */ SetTags(Aws::Vector<Tag> && value)243 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 244 245 /** 246 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 247 * to identify and organize your resources and to control access to resources. </p> 248 */ WithTags(const Aws::Vector<Tag> & value)249 inline CreateThesaurusRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 250 251 /** 252 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 253 * to identify and organize your resources and to control access to resources. </p> 254 */ WithTags(Aws::Vector<Tag> && value)255 inline CreateThesaurusRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 256 257 /** 258 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 259 * to identify and organize your resources and to control access to resources. </p> 260 */ AddTags(const Tag & value)261 inline CreateThesaurusRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 262 263 /** 264 * <p>A list of key-value pairs that identify the thesaurus. You can use the tags 265 * to identify and organize your resources and to control access to resources. </p> 266 */ AddTags(Tag && value)267 inline CreateThesaurusRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 268 269 270 /** 271 * <p>The thesaurus file Amazon S3 source path. </p> 272 */ GetSourceS3Path()273 inline const S3Path& GetSourceS3Path() const{ return m_sourceS3Path; } 274 275 /** 276 * <p>The thesaurus file Amazon S3 source path. </p> 277 */ SourceS3PathHasBeenSet()278 inline bool SourceS3PathHasBeenSet() const { return m_sourceS3PathHasBeenSet; } 279 280 /** 281 * <p>The thesaurus file Amazon S3 source path. </p> 282 */ SetSourceS3Path(const S3Path & value)283 inline void SetSourceS3Path(const S3Path& value) { m_sourceS3PathHasBeenSet = true; m_sourceS3Path = value; } 284 285 /** 286 * <p>The thesaurus file Amazon S3 source path. </p> 287 */ SetSourceS3Path(S3Path && value)288 inline void SetSourceS3Path(S3Path&& value) { m_sourceS3PathHasBeenSet = true; m_sourceS3Path = std::move(value); } 289 290 /** 291 * <p>The thesaurus file Amazon S3 source path. </p> 292 */ WithSourceS3Path(const S3Path & value)293 inline CreateThesaurusRequest& WithSourceS3Path(const S3Path& value) { SetSourceS3Path(value); return *this;} 294 295 /** 296 * <p>The thesaurus file Amazon S3 source path. </p> 297 */ WithSourceS3Path(S3Path && value)298 inline CreateThesaurusRequest& WithSourceS3Path(S3Path&& value) { SetSourceS3Path(std::move(value)); return *this;} 299 300 301 /** 302 * <p>A token that you provide to identify the request to create a thesaurus. 303 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 304 * client token will create only one thesaurus. </p> 305 */ GetClientToken()306 inline const Aws::String& GetClientToken() const{ return m_clientToken; } 307 308 /** 309 * <p>A token that you provide to identify the request to create a thesaurus. 310 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 311 * client token will create only one thesaurus. </p> 312 */ ClientTokenHasBeenSet()313 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } 314 315 /** 316 * <p>A token that you provide to identify the request to create a thesaurus. 317 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 318 * client token will create only one thesaurus. </p> 319 */ SetClientToken(const Aws::String & value)320 inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } 321 322 /** 323 * <p>A token that you provide to identify the request to create a thesaurus. 324 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 325 * client token will create only one thesaurus. </p> 326 */ SetClientToken(Aws::String && value)327 inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } 328 329 /** 330 * <p>A token that you provide to identify the request to create a thesaurus. 331 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 332 * client token will create only one thesaurus. </p> 333 */ SetClientToken(const char * value)334 inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } 335 336 /** 337 * <p>A token that you provide to identify the request to create a thesaurus. 338 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 339 * client token will create only one thesaurus. </p> 340 */ WithClientToken(const Aws::String & value)341 inline CreateThesaurusRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} 342 343 /** 344 * <p>A token that you provide to identify the request to create a thesaurus. 345 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 346 * client token will create only one thesaurus. </p> 347 */ WithClientToken(Aws::String && value)348 inline CreateThesaurusRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} 349 350 /** 351 * <p>A token that you provide to identify the request to create a thesaurus. 352 * Multiple calls to the <code>CreateThesaurus</code> operation with the same 353 * client token will create only one thesaurus. </p> 354 */ WithClientToken(const char * value)355 inline CreateThesaurusRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} 356 357 private: 358 359 Aws::String m_indexId; 360 bool m_indexIdHasBeenSet; 361 362 Aws::String m_name; 363 bool m_nameHasBeenSet; 364 365 Aws::String m_description; 366 bool m_descriptionHasBeenSet; 367 368 Aws::String m_roleArn; 369 bool m_roleArnHasBeenSet; 370 371 Aws::Vector<Tag> m_tags; 372 bool m_tagsHasBeenSet; 373 374 S3Path m_sourceS3Path; 375 bool m_sourceS3PathHasBeenSet; 376 377 Aws::String m_clientToken; 378 bool m_clientTokenHasBeenSet; 379 }; 380 381 } // namespace Model 382 } // namespace kendra 383 } // namespace Aws 384