/** * 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 #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace kendra { namespace Model { /** *

Provides the configuration information to connect to Microsoft SharePoint as * your data source.

See Also:

AWS * API Reference

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

The version of Microsoft SharePoint that you use.

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

The version of Microsoft SharePoint that you use.

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

The version of Microsoft SharePoint that you use.

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

The version of Microsoft SharePoint that you use.

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

The version of Microsoft SharePoint that you use.

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

The version of Microsoft SharePoint that you use.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Microsoft SharePoint site URLs for the documents you want to index.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * user name and password required to connect to the SharePoint instance. For more * information, see Microsoft * SharePoint.

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

TRUE to index document attachments.

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

TRUE to index document attachments.

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

TRUE to index document attachments.

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

TRUE to index document attachments.

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

TRUE to use the SharePoint change log to determine which * documents require updating in the index. Depending on the change log's size, it * may take longer for Amazon Kendra to use the change log than to scan all of your * documents in SharePoint.

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

TRUE to use the SharePoint change log to determine which * documents require updating in the index. Depending on the change log's size, it * may take longer for Amazon Kendra to use the change log than to scan all of your * documents in SharePoint.

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

TRUE to use the SharePoint change log to determine which * documents require updating in the index. Depending on the change log's size, it * may take longer for Amazon Kendra to use the change log than to scan all of your * documents in SharePoint.

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

TRUE to use the SharePoint change log to determine which * documents require updating in the index. Depending on the change log's size, it * may take longer for Amazon Kendra to use the change log than to scan all of your * documents in SharePoint.

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

A list of regular expression patterns to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies to the display URL of the SharePoint document.

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

A list of regular expression patterns to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies to the display URL of the SharePoint document.

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

A list of regular expression patterns to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to include certain documents in your * SharePoint. 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 and exclusion pattern, the exclusion pattern * takes precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies to the display URL of the SharePoint document.

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

A list of regular expression patterns to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies to the display URL of the SharePoint document.

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

A list of regular expression patterns to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies 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 to exclude certain documents in your * SharePoint. 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 inclusion and exclusion pattern, the exclusion pattern takes * precedence and the document isn't included in the index.

The regex * applies to the display URL of the SharePoint document.

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

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline const DataSourceVpcConfiguration& GetVpcConfiguration() const{ return m_vpcConfiguration; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline bool VpcConfigurationHasBeenSet() const { return m_vpcConfigurationHasBeenSet; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline void SetVpcConfiguration(const DataSourceVpcConfiguration& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = value; } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline void SetVpcConfiguration(DataSourceVpcConfiguration&& value) { m_vpcConfigurationHasBeenSet = true; m_vpcConfiguration = std::move(value); } /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline SharePointConfiguration& WithVpcConfiguration(const DataSourceVpcConfiguration& value) { SetVpcConfiguration(value); return *this;} /** *

Configuration information for an Amazon Virtual Private Cloud to connect to * your Microsoft SharePoint. For more information, see Configuring * a VPC.

*/ inline SharePointConfiguration& WithVpcConfiguration(DataSourceVpcConfiguration&& value) { SetVpcConfiguration(std::move(value)); return *this;} /** *

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

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

A list of DataSourceToIndexFieldMapping objects that map * SharePoint data source attributes or field names to Amazon Kendra index field * names. To create custom fields, use the UpdateIndex API before you * map to SharePoint fields. For more information, see Mapping * data source fields. The SharePoint data source field names must exist in * your SharePoint custom metadata.

*/ 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;} /** *

TRUE to disable local groups information.

*/ inline bool GetDisableLocalGroups() const{ return m_disableLocalGroups; } /** *

TRUE to disable local groups information.

*/ inline bool DisableLocalGroupsHasBeenSet() const { return m_disableLocalGroupsHasBeenSet; } /** *

TRUE to disable local groups information.

*/ inline void SetDisableLocalGroups(bool value) { m_disableLocalGroupsHasBeenSet = true; m_disableLocalGroups = value; } /** *

TRUE to disable local groups information.

*/ inline SharePointConfiguration& WithDisableLocalGroups(bool value) { SetDisableLocalGroups(value); return *this;} /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline const S3Path& GetSslCertificateS3Path() const{ return m_sslCertificateS3Path; } /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline bool SslCertificateS3PathHasBeenSet() const { return m_sslCertificateS3PathHasBeenSet; } /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline void SetSslCertificateS3Path(const S3Path& value) { m_sslCertificateS3PathHasBeenSet = true; m_sslCertificateS3Path = value; } /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline void SetSslCertificateS3Path(S3Path&& value) { m_sslCertificateS3PathHasBeenSet = true; m_sslCertificateS3Path = std::move(value); } /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline SharePointConfiguration& WithSslCertificateS3Path(const S3Path& value) { SetSslCertificateS3Path(value); return *this;} /** *

The path to the SSL certificate stored in an Amazon S3 bucket. You use this * to connect to SharePoint Server if you require a secure SSL connection.

*

You can generate a self-signed X509 certificate on any computer using * OpenSSL. For an example of using OpenSSL to create an X509 certificate, see Create * and sign an X509 certificate.

*/ inline SharePointConfiguration& WithSslCertificateS3Path(S3Path&& value) { SetSslCertificateS3Path(std::move(value)); return *this;} /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline const SharePointOnlineAuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline void SetAuthenticationType(const SharePointOnlineAuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline void SetAuthenticationType(SharePointOnlineAuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline SharePointConfiguration& WithAuthenticationType(const SharePointOnlineAuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

Whether you want to connect to SharePoint Online using basic authentication * of user name and password, or OAuth authentication of user name, password, * client ID, and client secret, or AD App-only authentication of client * secret.

*/ inline SharePointConfiguration& WithAuthenticationType(SharePointOnlineAuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline const ProxyConfiguration& GetProxyConfiguration() const{ return m_proxyConfiguration; } /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline bool ProxyConfigurationHasBeenSet() const { return m_proxyConfigurationHasBeenSet; } /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline void SetProxyConfiguration(const ProxyConfiguration& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = value; } /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline void SetProxyConfiguration(ProxyConfiguration&& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = std::move(value); } /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline SharePointConfiguration& WithProxyConfiguration(const ProxyConfiguration& value) { SetProxyConfiguration(value); return *this;} /** *

Configuration information to connect to your Microsoft SharePoint site URLs * via instance via a web proxy. You can use this option for SharePoint Server.

*

You must provide the website host name and port number. For example, the host * name of https://a.example.com/page1.html is "a.example.com" and the port * is 443, the standard port for HTTPS.

Web proxy credentials are optional * and you can use them to connect to a web proxy server that requires basic * authentication of user name and password. To store web proxy credentials, you * use a secret in Secrets Manager.

It is recommended that you follow best * security practices when configuring your web proxy. This includes setting up * throttling, setting up logging and monitoring, and applying security patches on * a regular basis. If you use your web proxy with multiple data sources, sync jobs * that occur at the same time could strain the load on your proxy. It is * recommended you prepare your proxy beforehand for any security and load * requirements.

*/ inline SharePointConfiguration& WithProxyConfiguration(ProxyConfiguration&& value) { SetProxyConfiguration(std::move(value)); return *this;} private: SharePointVersion m_sharePointVersion; bool m_sharePointVersionHasBeenSet = false; Aws::Vector m_urls; bool m_urlsHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; bool m_crawlAttachments; bool m_crawlAttachmentsHasBeenSet = false; bool m_useChangeLog; bool m_useChangeLogHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; Aws::String m_documentTitleFieldName; bool m_documentTitleFieldNameHasBeenSet = false; bool m_disableLocalGroups; bool m_disableLocalGroupsHasBeenSet = false; S3Path m_sslCertificateS3Path; bool m_sslCertificateS3PathHasBeenSet = false; SharePointOnlineAuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; ProxyConfiguration m_proxyConfiguration; bool m_proxyConfigurationHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws