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/CustomDocumentEnrichmentConfiguration.h> 
   13#include <aws/kendra/model/DataSourceConfiguration.h> 
   14#include <aws/kendra/model/DataSourceType.h> 
   15#include <aws/kendra/model/DataSourceVpcConfiguration.h> 
   16#include <aws/kendra/model/Tag.h> 
   46  template <
typename NameT = Aws::String>
 
   48    m_nameHasBeenSet = 
true;
 
   49    m_name = std::forward<NameT>(value);
 
   51  template <
typename NameT = Aws::String>
 
   53    SetName(std::forward<NameT>(value));
 
   65  template <
typename IndexIdT = Aws::String>
 
   67    m_indexIdHasBeenSet = 
true;
 
   68    m_indexId = std::forward<IndexIdT>(value);
 
   70  template <
typename IndexIdT = Aws::String>
 
   84    m_typeHasBeenSet = 
true;
 
  103  template <
typename ConfigurationT = DataSourceConfiguration>
 
  105    m_configurationHasBeenSet = 
true;
 
  106    m_configuration = std::forward<ConfigurationT>(value);
 
  108  template <
typename ConfigurationT = DataSourceConfiguration>
 
  124  template <
typename VpcConfigurationT = DataSourceVpcConfiguration>
 
  126    m_vpcConfigurationHasBeenSet = 
true;
 
  127    m_vpcConfiguration = std::forward<VpcConfigurationT>(value);
 
  129  template <
typename VpcConfigurationT = DataSourceVpcConfiguration>
 
  142  template <
typename DescriptionT = Aws::String>
 
  144    m_descriptionHasBeenSet = 
true;
 
  145    m_description = std::forward<DescriptionT>(value);
 
  147  template <
typename DescriptionT = Aws::String>
 
  168  template <
typename ScheduleT = Aws::String>
 
  170    m_scheduleHasBeenSet = 
true;
 
  171    m_schedule = std::forward<ScheduleT>(value);
 
  173  template <
typename ScheduleT = Aws::String>
 
  192  template <
typename RoleArnT = Aws::String>
 
  194    m_roleArnHasBeenSet = 
true;
 
  195    m_roleArn = std::forward<RoleArnT>(value);
 
  197  template <
typename RoleArnT = Aws::String>
 
  213  template <
typename TagsT = Aws::Vector<Tag>>
 
  215    m_tagsHasBeenSet = 
true;
 
  216    m_tags = std::forward<TagsT>(value);
 
  218  template <
typename TagsT = Aws::Vector<Tag>>
 
  220    SetTags(std::forward<TagsT>(value));
 
  223  template <
typename TagsT = Tag>
 
  225    m_tagsHasBeenSet = 
true;
 
  226    m_tags.emplace_back(std::forward<TagsT>(value));
 
  239  template <
typename ClientTokenT = Aws::String>
 
  241    m_clientTokenHasBeenSet = 
true;
 
  242    m_clientToken = std::forward<ClientTokenT>(value);
 
  244  template <
typename ClientTokenT = Aws::String>
 
  262  template <
typename LanguageCodeT = Aws::String>
 
  264    m_languageCodeHasBeenSet = 
true;
 
  265    m_languageCode = std::forward<LanguageCodeT>(value);
 
  267  template <
typename LanguageCodeT = Aws::String>
 
  284    return m_customDocumentEnrichmentConfiguration;
 
  287  template <
typename CustomDocumentEnrichmentConfigurationT = CustomDocumentEnrichmentConfiguration>
 
  289    m_customDocumentEnrichmentConfigurationHasBeenSet = 
true;
 
  290    m_customDocumentEnrichmentConfiguration = std::forward<CustomDocumentEnrichmentConfigurationT>(value);
 
  292  template <
typename CustomDocumentEnrichmentConfigurationT = CustomDocumentEnrichmentConfiguration>
 
  300  bool m_nameHasBeenSet = 
false;
 
  303  bool m_indexIdHasBeenSet = 
false;
 
  306  bool m_typeHasBeenSet = 
false;
 
  308  DataSourceConfiguration m_configuration;
 
  309  bool m_configurationHasBeenSet = 
false;
 
  311  DataSourceVpcConfiguration m_vpcConfiguration;
 
  312  bool m_vpcConfigurationHasBeenSet = 
false;
 
  315  bool m_descriptionHasBeenSet = 
false;
 
  318  bool m_scheduleHasBeenSet = 
false;
 
  321  bool m_roleArnHasBeenSet = 
false;
 
  324  bool m_tagsHasBeenSet = 
false;
 
  327  bool m_clientTokenHasBeenSet = 
true;
 
  330  bool m_languageCodeHasBeenSet = 
false;
 
  332  CustomDocumentEnrichmentConfiguration m_customDocumentEnrichmentConfiguration;
 
  333  bool m_customDocumentEnrichmentConfigurationHasBeenSet = 
false;
 
static Aws::Utils::UUID PseudoRandomUUID()
 
void SetCustomDocumentEnrichmentConfiguration(CustomDocumentEnrichmentConfigurationT &&value)
 
const Aws::String & GetRoleArn() const
 
const Aws::String & GetLanguageCode() const
 
const CustomDocumentEnrichmentConfiguration & GetCustomDocumentEnrichmentConfiguration() const
 
bool RoleArnHasBeenSet() const
 
void SetType(DataSourceType value)
 
CreateDataSourceRequest & AddTags(TagsT &&value)
 
CreateDataSourceRequest & WithRoleArn(RoleArnT &&value)
 
DataSourceType GetType() const
 
const Aws::String & GetSchedule() const
 
bool VpcConfigurationHasBeenSet() const
 
CreateDataSourceRequest & WithSchedule(ScheduleT &&value)
 
void SetName(NameT &&value)
 
const DataSourceConfiguration & GetConfiguration() const
 
const Aws::String & GetDescription() const
 
CreateDataSourceRequest & WithName(NameT &&value)
 
void SetRoleArn(RoleArnT &&value)
 
void SetLanguageCode(LanguageCodeT &&value)
 
bool CustomDocumentEnrichmentConfigurationHasBeenSet() const
 
void SetTags(TagsT &&value)
 
CreateDataSourceRequest & WithIndexId(IndexIdT &&value)
 
virtual const char * GetServiceRequestName() const override
 
AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
 
AWS_KENDRA_API CreateDataSourceRequest()=default
 
const Aws::String & GetIndexId() const
 
void SetVpcConfiguration(VpcConfigurationT &&value)
 
void SetConfiguration(ConfigurationT &&value)
 
void SetClientToken(ClientTokenT &&value)
 
bool LanguageCodeHasBeenSet() const
 
AWS_KENDRA_API Aws::String SerializePayload() const override
 
CreateDataSourceRequest & WithType(DataSourceType value)
 
const Aws::Vector< Tag > & GetTags() const
 
void SetSchedule(ScheduleT &&value)
 
CreateDataSourceRequest & WithLanguageCode(LanguageCodeT &&value)
 
bool TagsHasBeenSet() const
 
CreateDataSourceRequest & WithCustomDocumentEnrichmentConfiguration(CustomDocumentEnrichmentConfigurationT &&value)
 
const Aws::String & GetClientToken() const
 
const DataSourceVpcConfiguration & GetVpcConfiguration() const
 
const Aws::String & GetName() const
 
CreateDataSourceRequest & WithConfiguration(ConfigurationT &&value)
 
bool ScheduleHasBeenSet() const
 
bool DescriptionHasBeenSet() const
 
bool NameHasBeenSet() const
 
bool IndexIdHasBeenSet() const
 
bool ClientTokenHasBeenSet() const
 
void SetDescription(DescriptionT &&value)
 
CreateDataSourceRequest & WithClientToken(ClientTokenT &&value)
 
bool TypeHasBeenSet() const
 
CreateDataSourceRequest & WithTags(TagsT &&value)
 
CreateDataSourceRequest & WithDescription(DescriptionT &&value)
 
void SetIndexId(IndexIdT &&value)
 
bool ConfigurationHasBeenSet() const
 
CreateDataSourceRequest & WithVpcConfiguration(VpcConfigurationT &&value)
 
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