/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Provides configuration information for connecting to a Microsoft SharePoint * data source.

See Also:

AWS * API Reference

*/ class AWS_KENDRA_API SharePointConfiguration { public: SharePointConfiguration(); SharePointConfiguration(Aws::Utils::Json::JsonView jsonValue); SharePointConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline const SharePointVersion& GetSharePointVersion() const{ return m_sharePointVersion; } /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline bool SharePointVersionHasBeenSet() const { return m_sharePointVersionHasBeenSet; } /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline void SetSharePointVersion(const SharePointVersion& value) { m_sharePointVersionHasBeenSet = true; m_sharePointVersion = value; } /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline void SetSharePointVersion(SharePointVersion&& value) { m_sharePointVersionHasBeenSet = true; m_sharePointVersion = std::move(value); } /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline SharePointConfiguration& WithSharePointVersion(const SharePointVersion& value) { SetSharePointVersion(value); return *this;} /** *

The version of Microsoft SharePoint that you are using as a data source.

*/ inline SharePointConfiguration& WithSharePointVersion(SharePointVersion&& value) { SetSharePointVersion(std::move(value)); return *this;} /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline const Aws::Vector& GetUrls() const{ return m_urls; } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline bool UrlsHasBeenSet() const { return m_urlsHasBeenSet; } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline void SetUrls(const Aws::Vector& value) { m_urlsHasBeenSet = true; m_urls = value; } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline void SetUrls(Aws::Vector&& value) { m_urlsHasBeenSet = true; m_urls = std::move(value); } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline SharePointConfiguration& WithUrls(const Aws::Vector& value) { SetUrls(value); return *this;} /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline SharePointConfiguration& WithUrls(Aws::Vector&& value) { SetUrls(std::move(value)); return *this;} /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline SharePointConfiguration& AddUrls(const Aws::String& value) { m_urlsHasBeenSet = true; m_urls.push_back(value); return *this; } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline SharePointConfiguration& AddUrls(Aws::String&& value) { m_urlsHasBeenSet = true; m_urls.push_back(std::move(value)); return *this; } /** *

The URLs of the Microsoft SharePoint site that contains the documents that * should be indexed.

*/ inline SharePointConfiguration& AddUrls(const char* value) { m_urlsHasBeenSet = true; m_urls.push_back(value); return *this; } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline const Aws::String& GetSecretArn() const{ return m_secretArn; } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline bool SecretArnHasBeenSet() const { return m_secretArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline void SetSecretArn(const Aws::String& value) { m_secretArnHasBeenSet = true; m_secretArn = value; } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline void SetSecretArn(Aws::String&& value) { m_secretArnHasBeenSet = true; m_secretArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline void SetSecretArn(const char* value) { m_secretArnHasBeenSet = true; m_secretArn.assign(value); } /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline SharePointConfiguration& WithSecretArn(const Aws::String& value) { SetSecretArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline SharePointConfiguration& WithSecretArn(Aws::String&& value) { SetSecretArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. * The credentials should be a user/password pair. For more information, see Using * a Microsoft SharePoint Data Source. For more information about AWS Secrets * Manager, see * What Is AWS Secrets Manager in the AWS Secrets Manager user * guide.

*/ inline SharePointConfiguration& WithSecretArn(const char* value) { SetSecretArn(value); return *this;} /** *

TRUE to include attachments to documents stored in your * Microsoft SharePoint site in the index; otherwise, FALSE.

*/ inline bool GetCrawlAttachments() const{ return m_crawlAttachments; } /** *

TRUE to include attachments to documents stored in your * Microsoft SharePoint site in the index; otherwise, FALSE.

*/ inline bool CrawlAttachmentsHasBeenSet() const { return m_crawlAttachmentsHasBeenSet; } /** *

TRUE to include attachments to documents stored in your * Microsoft SharePoint site in the index; otherwise, FALSE.

*/ inline void SetCrawlAttachments(bool value) { m_crawlAttachmentsHasBeenSet = true; m_crawlAttachments = value; } /** *

TRUE to include attachments to documents stored in your * Microsoft SharePoint site in the index; otherwise, FALSE.

*/ inline SharePointConfiguration& WithCrawlAttachments(bool value) { SetCrawlAttachments(value); return *this;} /** *

Set to TRUE to use the Microsoft SharePoint change log to * determine the documents that need to be updated in the index. Depending on the * size of the SharePoint change log, it may take longer for Amazon Kendra to use * the change log than it takes it to determine the changed documents using the * Amazon Kendra document crawler.

*/ inline bool GetUseChangeLog() const{ return m_useChangeLog; } /** *

Set to TRUE to use the Microsoft SharePoint change log to * determine the documents that need to be updated in the index. Depending on the * size of the SharePoint change log, it may take longer for Amazon Kendra to use * the change log than it takes it to determine the changed documents using the * Amazon Kendra document crawler.

*/ inline bool UseChangeLogHasBeenSet() const { return m_useChangeLogHasBeenSet; } /** *

Set to TRUE to use the Microsoft SharePoint change log to * determine the documents that need to be updated in the index. Depending on the * size of the SharePoint change log, it may take longer for Amazon Kendra to use * the change log than it takes it to determine the changed documents using the * Amazon Kendra document crawler.

*/ inline void SetUseChangeLog(bool value) { m_useChangeLogHasBeenSet = true; m_useChangeLog = value; } /** *

Set to TRUE to use the Microsoft SharePoint change log to * determine the documents that need to be updated in the index. Depending on the * size of the SharePoint change log, it may take longer for Amazon Kendra to use * the change log than it takes it to determine the changed documents using the * Amazon Kendra document crawler.

*/ inline SharePointConfiguration& WithUseChangeLog(bool value) { SetUseChangeLog(value); return *this;} /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline const Aws::Vector& GetInclusionPatterns() const{ return m_inclusionPatterns; } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline bool InclusionPatternsHasBeenSet() const { return m_inclusionPatternsHasBeenSet; } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline void SetInclusionPatterns(const Aws::Vector& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = value; } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline void SetInclusionPatterns(Aws::Vector&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns = std::move(value); } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& WithInclusionPatterns(const Aws::Vector& value) { SetInclusionPatterns(value); return *this;} /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& WithInclusionPatterns(Aws::Vector&& value) { SetInclusionPatterns(std::move(value)); return *this;} /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddInclusionPatterns(const Aws::String& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddInclusionPatterns(Aws::String&& value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(std::move(value)); return *this; } /** *

A list of regular expression patterns. Documents that match the patterns are * included in the index. Documents that don't match the patterns are excluded from * the index. If a document matches both an inclusion pattern and an exclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddInclusionPatterns(const char* value) { m_inclusionPatternsHasBeenSet = true; m_inclusionPatterns.push_back(value); return *this; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline const Aws::Vector& GetExclusionPatterns() const{ return m_exclusionPatterns; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline bool ExclusionPatternsHasBeenSet() const { return m_exclusionPatternsHasBeenSet; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline void SetExclusionPatterns(const Aws::Vector& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = value; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline void SetExclusionPatterns(Aws::Vector&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns = std::move(value); } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& WithExclusionPatterns(const Aws::Vector& value) { SetExclusionPatterns(value); return *this;} /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& WithExclusionPatterns(Aws::Vector&& value) { SetExclusionPatterns(std::move(value)); return *this;} /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddExclusionPatterns(const Aws::String& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddExclusionPatterns(Aws::String&& value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(std::move(value)); return *this; } /** *

A list of regular expression patterns. Documents that match the patterns are * excluded from the index. Documents that don't match the patterns are included in * the index. If a document matches both an exclusion pattern and an inclusion * pattern, the document is not included in the index.

The regex is applied * to the display URL of the SharePoint document.

*/ inline SharePointConfiguration& AddExclusionPatterns(const char* value) { m_exclusionPatternsHasBeenSet = true; m_exclusionPatterns.push_back(value); return *this; } inline const DataSourceVpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } inline void SetVpcConfiguration(const DataSourceVpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } inline void SetVpcConfiguration(DataSourceVpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } inline SharePointConfiguration& WithVpcConfiguration(const DataSourceVpcConfiguration& value) { SetVpcConfiguration(value); return *this;} inline SharePointConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline const Aws::Vector& GetFieldMappings() const{ return m_fieldMappings; } /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline bool FieldMappingsHasBeenSet() const { return m_fieldMappingsHasBeenSet; } /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline void SetFieldMappings(const Aws::Vector& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = value; } /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline void SetFieldMappings(Aws::Vector&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = std::move(value); } /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline SharePointConfiguration& WithFieldMappings(const Aws::Vector& value) { SetFieldMappings(value); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline SharePointConfiguration& WithFieldMappings(Aws::Vector&& value) { SetFieldMappings(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline SharePointConfiguration& AddFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(value); return *this; } /** *

A list of DataSourceToIndexFieldMapping objects that map * Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You * must first create the index fields using the operation before you map SharePoint * attributes. For more information, see Mapping * Data Source Fields.

*/ inline SharePointConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline const Aws::String& GetDocumentTitleFieldName() const{ return m_documentTitleFieldName; } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline bool DocumentTitleFieldNameHasBeenSet() const { return m_documentTitleFieldNameHasBeenSet; } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline void SetDocumentTitleFieldName(const Aws::String& value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName = value; } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline void SetDocumentTitleFieldName(Aws::String&& value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName = std::move(value); } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline void SetDocumentTitleFieldName(const char* value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName.assign(value); } /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline SharePointConfiguration& WithDocumentTitleFieldName(const Aws::String& value) { SetDocumentTitleFieldName(value); return *this;} /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline SharePointConfiguration& WithDocumentTitleFieldName(Aws::String&& value) { SetDocumentTitleFieldName(std::move(value)); return *this;} /** *

The Microsoft SharePoint attribute field that contains the title of the * document.

*/ inline SharePointConfiguration& WithDocumentTitleFieldName(const char* value) { SetDocumentTitleFieldName(value); return *this;} private: SharePointVersion m_sharePointVersion; bool m_sharePointVersionHasBeenSet; Aws::Vector m_urls; bool m_urlsHasBeenSet; Aws::String m_secretArn; bool m_secretArnHasBeenSet; bool m_crawlAttachments; bool m_crawlAttachmentsHasBeenSet; bool m_useChangeLog; bool m_useChangeLogHasBeenSet; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet; Aws::String m_documentTitleFieldName; bool m_documentTitleFieldNameHasBeenSet; }; } // namespace Model } // namespace kendra } // namespace Aws