AWS SDK for C++

AWS SDK for C++ Version 1.11.681

Loading...
Searching...
No Matches
CreateIndexRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/kendra/KendraRequest.h>
11#include <aws/kendra/Kendra_EXPORTS.h>
12#include <aws/kendra/model/IndexEdition.h>
13#include <aws/kendra/model/ServerSideEncryptionConfiguration.h>
14#include <aws/kendra/model/Tag.h>
15#include <aws/kendra/model/UserContextPolicy.h>
16#include <aws/kendra/model/UserGroupResolutionConfiguration.h>
17#include <aws/kendra/model/UserTokenConfiguration.h>
18
19#include <utility>
20
21namespace Aws {
22namespace kendra {
23namespace Model {
24
28 public:
29 AWS_KENDRA_API CreateIndexRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateIndex"; }
36
37 AWS_KENDRA_API Aws::String SerializePayload() const override;
38
40
42
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
53 CreateIndexRequest& WithName(NameT&& value) {
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
72 inline IndexEdition GetEdition() const { return m_edition; }
73 inline bool EditionHasBeenSet() const { return m_editionHasBeenSet; }
74 inline void SetEdition(IndexEdition value) {
75 m_editionHasBeenSet = true;
76 m_edition = value;
77 }
79 SetEdition(value);
80 return *this;
81 }
83
85
91 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
92 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
93 template <typename RoleArnT = Aws::String>
94 void SetRoleArn(RoleArnT&& value) {
95 m_roleArnHasBeenSet = true;
96 m_roleArn = std::forward<RoleArnT>(value);
97 }
98 template <typename RoleArnT = Aws::String>
99 CreateIndexRequest& WithRoleArn(RoleArnT&& value) {
100 SetRoleArn(std::forward<RoleArnT>(value));
101 return *this;
102 }
104
106
112 return m_serverSideEncryptionConfiguration;
113 }
114 inline bool ServerSideEncryptionConfigurationHasBeenSet() const { return m_serverSideEncryptionConfigurationHasBeenSet; }
115 template <typename ServerSideEncryptionConfigurationT = ServerSideEncryptionConfiguration>
116 void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfigurationT&& value) {
117 m_serverSideEncryptionConfigurationHasBeenSet = true;
118 m_serverSideEncryptionConfiguration = std::forward<ServerSideEncryptionConfigurationT>(value);
119 }
120 template <typename ServerSideEncryptionConfigurationT = ServerSideEncryptionConfiguration>
121 CreateIndexRequest& WithServerSideEncryptionConfiguration(ServerSideEncryptionConfigurationT&& value) {
122 SetServerSideEncryptionConfiguration(std::forward<ServerSideEncryptionConfigurationT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::String& GetDescription() const { return m_description; }
132 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 template <typename DescriptionT = Aws::String>
134 void SetDescription(DescriptionT&& value) {
135 m_descriptionHasBeenSet = true;
136 m_description = std::forward<DescriptionT>(value);
137 }
138 template <typename DescriptionT = Aws::String>
139 CreateIndexRequest& WithDescription(DescriptionT&& value) {
140 SetDescription(std::forward<DescriptionT>(value));
141 return *this;
142 }
144
146
151 inline const Aws::String& GetClientToken() const { return m_clientToken; }
152 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
153 template <typename ClientTokenT = Aws::String>
154 void SetClientToken(ClientTokenT&& value) {
155 m_clientTokenHasBeenSet = true;
156 m_clientToken = std::forward<ClientTokenT>(value);
157 }
158 template <typename ClientTokenT = Aws::String>
159 CreateIndexRequest& WithClientToken(ClientTokenT&& value) {
160 SetClientToken(std::forward<ClientTokenT>(value));
161 return *this;
162 }
164
166
172 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
173 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
174 template <typename TagsT = Aws::Vector<Tag>>
175 void SetTags(TagsT&& value) {
176 m_tagsHasBeenSet = true;
177 m_tags = std::forward<TagsT>(value);
178 }
179 template <typename TagsT = Aws::Vector<Tag>>
180 CreateIndexRequest& WithTags(TagsT&& value) {
181 SetTags(std::forward<TagsT>(value));
182 return *this;
183 }
184 template <typename TagsT = Tag>
185 CreateIndexRequest& AddTags(TagsT&& value) {
186 m_tagsHasBeenSet = true;
187 m_tags.emplace_back(std::forward<TagsT>(value));
188 return *this;
189 }
191
193
199 inline const Aws::Vector<UserTokenConfiguration>& GetUserTokenConfigurations() const { return m_userTokenConfigurations; }
200 inline bool UserTokenConfigurationsHasBeenSet() const { return m_userTokenConfigurationsHasBeenSet; }
201 template <typename UserTokenConfigurationsT = Aws::Vector<UserTokenConfiguration>>
202 void SetUserTokenConfigurations(UserTokenConfigurationsT&& value) {
203 m_userTokenConfigurationsHasBeenSet = true;
204 m_userTokenConfigurations = std::forward<UserTokenConfigurationsT>(value);
205 }
206 template <typename UserTokenConfigurationsT = Aws::Vector<UserTokenConfiguration>>
207 CreateIndexRequest& WithUserTokenConfigurations(UserTokenConfigurationsT&& value) {
208 SetUserTokenConfigurations(std::forward<UserTokenConfigurationsT>(value));
209 return *this;
210 }
211 template <typename UserTokenConfigurationsT = UserTokenConfiguration>
212 CreateIndexRequest& AddUserTokenConfigurations(UserTokenConfigurationsT&& value) {
213 m_userTokenConfigurationsHasBeenSet = true;
214 m_userTokenConfigurations.emplace_back(std::forward<UserTokenConfigurationsT>(value));
215 return *this;
216 }
218
220
236 inline UserContextPolicy GetUserContextPolicy() const { return m_userContextPolicy; }
237 inline bool UserContextPolicyHasBeenSet() const { return m_userContextPolicyHasBeenSet; }
239 m_userContextPolicyHasBeenSet = true;
240 m_userContextPolicy = value;
241 }
244 return *this;
245 }
247
249
258 inline const UserGroupResolutionConfiguration& GetUserGroupResolutionConfiguration() const { return m_userGroupResolutionConfiguration; }
259 inline bool UserGroupResolutionConfigurationHasBeenSet() const { return m_userGroupResolutionConfigurationHasBeenSet; }
260 template <typename UserGroupResolutionConfigurationT = UserGroupResolutionConfiguration>
261 void SetUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT&& value) {
262 m_userGroupResolutionConfigurationHasBeenSet = true;
263 m_userGroupResolutionConfiguration = std::forward<UserGroupResolutionConfigurationT>(value);
264 }
265 template <typename UserGroupResolutionConfigurationT = UserGroupResolutionConfiguration>
266 CreateIndexRequest& WithUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT&& value) {
267 SetUserGroupResolutionConfiguration(std::forward<UserGroupResolutionConfigurationT>(value));
268 return *this;
269 }
271 private:
272 Aws::String m_name;
273 bool m_nameHasBeenSet = false;
274
276 bool m_editionHasBeenSet = false;
277
278 Aws::String m_roleArn;
279 bool m_roleArnHasBeenSet = false;
280
281 ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration;
282 bool m_serverSideEncryptionConfigurationHasBeenSet = false;
283
284 Aws::String m_description;
285 bool m_descriptionHasBeenSet = false;
286
288 bool m_clientTokenHasBeenSet = true;
289
290 Aws::Vector<Tag> m_tags;
291 bool m_tagsHasBeenSet = false;
292
293 Aws::Vector<UserTokenConfiguration> m_userTokenConfigurations;
294 bool m_userTokenConfigurationsHasBeenSet = false;
295
297 bool m_userContextPolicyHasBeenSet = false;
298
299 UserGroupResolutionConfiguration m_userGroupResolutionConfiguration;
300 bool m_userGroupResolutionConfigurationHasBeenSet = false;
301};
302
303} // namespace Model
304} // namespace kendra
305} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
void SetClientToken(ClientTokenT &&value)
CreateIndexRequest & WithUserContextPolicy(UserContextPolicy value)
AWS_KENDRA_API CreateIndexRequest()=default
void SetUserTokenConfigurations(UserTokenConfigurationsT &&value)
CreateIndexRequest & WithEdition(IndexEdition value)
void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfigurationT &&value)
const Aws::Vector< Tag > & GetTags() const
CreateIndexRequest & WithDescription(DescriptionT &&value)
CreateIndexRequest & WithUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT &&value)
CreateIndexRequest & WithUserTokenConfigurations(UserTokenConfigurationsT &&value)
CreateIndexRequest & WithClientToken(ClientTokenT &&value)
const ServerSideEncryptionConfiguration & GetServerSideEncryptionConfiguration() const
void SetDescription(DescriptionT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::String & GetRoleArn() const
CreateIndexRequest & AddTags(TagsT &&value)
const Aws::Vector< UserTokenConfiguration > & GetUserTokenConfigurations() const
CreateIndexRequest & WithTags(TagsT &&value)
void SetUserContextPolicy(UserContextPolicy value)
CreateIndexRequest & WithServerSideEncryptionConfiguration(ServerSideEncryptionConfigurationT &&value)
AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
UserContextPolicy GetUserContextPolicy() const
const UserGroupResolutionConfiguration & GetUserGroupResolutionConfiguration() const
const Aws::String & GetDescription() const
CreateIndexRequest & AddUserTokenConfigurations(UserTokenConfigurationsT &&value)
CreateIndexRequest & WithRoleArn(RoleArnT &&value)
AWS_KENDRA_API Aws::String SerializePayload() const override
void SetUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT &&value)
CreateIndexRequest & WithName(NameT &&value)
const Aws::String & GetClientToken() const
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector