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>
47 template <
typename NameT = Aws::String>
49 m_nameHasBeenSet =
true;
50 m_name = std::forward<NameT>(value);
52 template <
typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
75 m_editionHasBeenSet =
true;
93 template <
typename RoleArnT = Aws::String>
95 m_roleArnHasBeenSet =
true;
96 m_roleArn = std::forward<RoleArnT>(value);
98 template <
typename RoleArnT = Aws::String>
112 return m_serverSideEncryptionConfiguration;
115 template <
typename ServerS
ideEncryptionConfigurationT = ServerS
ideEncryptionConfiguration>
117 m_serverSideEncryptionConfigurationHasBeenSet =
true;
118 m_serverSideEncryptionConfiguration = std::forward<ServerSideEncryptionConfigurationT>(value);
120 template <
typename ServerS
ideEncryptionConfigurationT = ServerS
ideEncryptionConfiguration>
133 template <
typename DescriptionT = Aws::String>
135 m_descriptionHasBeenSet =
true;
136 m_description = std::forward<DescriptionT>(value);
138 template <
typename DescriptionT = Aws::String>
153 template <
typename ClientTokenT = Aws::String>
155 m_clientTokenHasBeenSet =
true;
156 m_clientToken = std::forward<ClientTokenT>(value);
158 template <
typename ClientTokenT = Aws::String>
174 template <
typename TagsT = Aws::Vector<Tag>>
176 m_tagsHasBeenSet =
true;
177 m_tags = std::forward<TagsT>(value);
179 template <
typename TagsT = Aws::Vector<Tag>>
181 SetTags(std::forward<TagsT>(value));
184 template <
typename TagsT = Tag>
186 m_tagsHasBeenSet =
true;
187 m_tags.emplace_back(std::forward<TagsT>(value));
201 template <
typename UserTokenConfigurationsT = Aws::Vector<UserTokenConfiguration>>
203 m_userTokenConfigurationsHasBeenSet =
true;
204 m_userTokenConfigurations = std::forward<UserTokenConfigurationsT>(value);
206 template <
typename UserTokenConfigurationsT = Aws::Vector<UserTokenConfiguration>>
211 template <
typename UserTokenConfigurationsT = UserTokenConfiguration>
213 m_userTokenConfigurationsHasBeenSet =
true;
214 m_userTokenConfigurations.emplace_back(std::forward<UserTokenConfigurationsT>(value));
239 m_userContextPolicyHasBeenSet =
true;
240 m_userContextPolicy = value;
260 template <
typename UserGroupResolutionConfigurationT = UserGroupResolutionConfiguration>
262 m_userGroupResolutionConfigurationHasBeenSet =
true;
263 m_userGroupResolutionConfiguration = std::forward<UserGroupResolutionConfigurationT>(value);
265 template <
typename UserGroupResolutionConfigurationT = UserGroupResolutionConfiguration>
273 bool m_nameHasBeenSet =
false;
276 bool m_editionHasBeenSet =
false;
279 bool m_roleArnHasBeenSet =
false;
281 ServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration;
282 bool m_serverSideEncryptionConfigurationHasBeenSet =
false;
285 bool m_descriptionHasBeenSet =
false;
288 bool m_clientTokenHasBeenSet =
true;
291 bool m_tagsHasBeenSet =
false;
294 bool m_userTokenConfigurationsHasBeenSet =
false;
297 bool m_userContextPolicyHasBeenSet =
false;
299 UserGroupResolutionConfiguration m_userGroupResolutionConfiguration;
300 bool m_userGroupResolutionConfigurationHasBeenSet =
false;
static Aws::Utils::UUID PseudoRandomUUID()
void SetClientToken(ClientTokenT &&value)
CreateIndexRequest & WithUserContextPolicy(UserContextPolicy value)
AWS_KENDRA_API CreateIndexRequest()=default
bool NameHasBeenSet() const
void SetUserTokenConfigurations(UserTokenConfigurationsT &&value)
IndexEdition GetEdition() const
CreateIndexRequest & WithEdition(IndexEdition value)
bool UserContextPolicyHasBeenSet() const
void SetServerSideEncryptionConfiguration(ServerSideEncryptionConfigurationT &&value)
const Aws::Vector< Tag > & GetTags() const
CreateIndexRequest & WithDescription(DescriptionT &&value)
bool EditionHasBeenSet() const
CreateIndexRequest & WithUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT &&value)
bool RoleArnHasBeenSet() const
CreateIndexRequest & WithUserTokenConfigurations(UserTokenConfigurationsT &&value)
void SetTags(TagsT &&value)
void SetName(NameT &&value)
CreateIndexRequest & WithClientToken(ClientTokenT &&value)
const Aws::String & GetName() const
const ServerSideEncryptionConfiguration & GetServerSideEncryptionConfiguration() const
bool UserTokenConfigurationsHasBeenSet() const
bool DescriptionHasBeenSet() const
void SetDescription(DescriptionT &&value)
virtual const char * GetServiceRequestName() const override
bool TagsHasBeenSet() const
const Aws::String & GetRoleArn() const
CreateIndexRequest & AddTags(TagsT &&value)
bool ServerSideEncryptionConfigurationHasBeenSet() const
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
void SetRoleArn(RoleArnT &&value)
bool UserGroupResolutionConfigurationHasBeenSet() const
const UserGroupResolutionConfiguration & GetUserGroupResolutionConfiguration() const
const Aws::String & GetDescription() const
CreateIndexRequest & AddUserTokenConfigurations(UserTokenConfigurationsT &&value)
bool ClientTokenHasBeenSet() const
CreateIndexRequest & WithRoleArn(RoleArnT &&value)
AWS_KENDRA_API Aws::String SerializePayload() const override
void SetUserGroupResolutionConfiguration(UserGroupResolutionConfigurationT &&value)
CreateIndexRequest & WithName(NameT &&value)
void SetEdition(IndexEdition 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