/** * 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 the configuration information to connect to Slack as your data * source.

See Also:

AWS * API Reference

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

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline const Aws::String& GetTeamId() const{ return m_teamId; } /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline bool TeamIdHasBeenSet() const { return m_teamIdHasBeenSet; } /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline void SetTeamId(const Aws::String& value) { m_teamIdHasBeenSet = true; m_teamId = value; } /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline void SetTeamId(Aws::String&& value) { m_teamIdHasBeenSet = true; m_teamId = std::move(value); } /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline void SetTeamId(const char* value) { m_teamIdHasBeenSet = true; m_teamId.assign(value); } /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline SlackConfiguration& WithTeamId(const Aws::String& value) { SetTeamId(value); return *this;} /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline SlackConfiguration& WithTeamId(Aws::String&& value) { SetTeamId(std::move(value)); return *this;} /** *

The identifier of the team in the Slack workspace. For example, * T0123456789.

You can find your team ID in the URL of the main page * of your Slack workspace. When you log in to Slack via a browser, you are * directed to the URL of the main page. For example, * https://app.slack.com/client/T0123456789/....

*/ inline SlackConfiguration& WithTeamId(const char* value) { SetTeamId(value); return *this;} /** *

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

*/ 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 * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

*/ 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 * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

*/ 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 * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

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

The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the * key-value pairs required to connect to your Slack workspace team. The secret * must contain a JSON structure with the following keys:

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

Configuration information for an Amazon Virtual Private Cloud to connect to * your Slack. 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 Slack. 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 Slack. 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 Slack. 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 Slack. For more information, see Configuring * a VPC.

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

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

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

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline const Aws::Vector& GetSlackEntityList() const{ return m_slackEntityList; } /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline bool SlackEntityListHasBeenSet() const { return m_slackEntityListHasBeenSet; } /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline void SetSlackEntityList(const Aws::Vector& value) { m_slackEntityListHasBeenSet = true; m_slackEntityList = value; } /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline void SetSlackEntityList(Aws::Vector&& value) { m_slackEntityListHasBeenSet = true; m_slackEntityList = std::move(value); } /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline SlackConfiguration& WithSlackEntityList(const Aws::Vector& value) { SetSlackEntityList(value); return *this;} /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline SlackConfiguration& WithSlackEntityList(Aws::Vector&& value) { SetSlackEntityList(std::move(value)); return *this;} /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline SlackConfiguration& AddSlackEntityList(const SlackEntity& value) { m_slackEntityListHasBeenSet = true; m_slackEntityList.push_back(value); return *this; } /** *

Specify whether to index public channels, private channels, group messages, * and direct messages. You can specify one or more of these options.

*/ inline SlackConfiguration& AddSlackEntityList(SlackEntity&& value) { m_slackEntityListHasBeenSet = true; m_slackEntityList.push_back(std::move(value)); return *this; } /** *

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

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

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

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

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

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

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

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

TRUE to index bot messages from your Slack workspace team.

*/ inline bool GetCrawlBotMessage() const{ return m_crawlBotMessage; } /** *

TRUE to index bot messages from your Slack workspace team.

*/ inline bool CrawlBotMessageHasBeenSet() const { return m_crawlBotMessageHasBeenSet; } /** *

TRUE to index bot messages from your Slack workspace team.

*/ inline void SetCrawlBotMessage(bool value) { m_crawlBotMessageHasBeenSet = true; m_crawlBotMessage = value; } /** *

TRUE to index bot messages from your Slack workspace team.

*/ inline SlackConfiguration& WithCrawlBotMessage(bool value) { SetCrawlBotMessage(value); return *this;} /** *

TRUE to exclude archived messages to index from your Slack * workspace team.

*/ inline bool GetExcludeArchived() const{ return m_excludeArchived; } /** *

TRUE to exclude archived messages to index from your Slack * workspace team.

*/ inline bool ExcludeArchivedHasBeenSet() const { return m_excludeArchivedHasBeenSet; } /** *

TRUE to exclude archived messages to index from your Slack * workspace team.

*/ inline void SetExcludeArchived(bool value) { m_excludeArchivedHasBeenSet = true; m_excludeArchived = value; } /** *

TRUE to exclude archived messages to index from your Slack * workspace team.

*/ inline SlackConfiguration& WithExcludeArchived(bool value) { SetExcludeArchived(value); return *this;} /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline const Aws::String& GetSinceCrawlDate() const{ return m_sinceCrawlDate; } /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline bool SinceCrawlDateHasBeenSet() const { return m_sinceCrawlDateHasBeenSet; } /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline void SetSinceCrawlDate(const Aws::String& value) { m_sinceCrawlDateHasBeenSet = true; m_sinceCrawlDate = value; } /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline void SetSinceCrawlDate(Aws::String&& value) { m_sinceCrawlDateHasBeenSet = true; m_sinceCrawlDate = std::move(value); } /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline void SetSinceCrawlDate(const char* value) { m_sinceCrawlDateHasBeenSet = true; m_sinceCrawlDate.assign(value); } /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline SlackConfiguration& WithSinceCrawlDate(const Aws::String& value) { SetSinceCrawlDate(value); return *this;} /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline SlackConfiguration& WithSinceCrawlDate(Aws::String&& value) { SetSinceCrawlDate(std::move(value)); return *this;} /** *

The date to start crawling your data from your Slack workspace team. The date * must follow this format: yyyy-mm-dd.

*/ inline SlackConfiguration& WithSinceCrawlDate(const char* value) { SetSinceCrawlDate(value); return *this;} /** *

The number of hours for change log to look back from when you last * synchronized your data. You can look back up to 7 days or 168 hours.

*

Change log updates your index only if new content was added since you last * synced your data. Updated or deleted content from before you last synced does * not get updated in your index. To capture updated or deleted content before you * last synced, set the LookBackPeriod to the number of hours you want * change log to look back.

*/ inline int GetLookBackPeriod() const{ return m_lookBackPeriod; } /** *

The number of hours for change log to look back from when you last * synchronized your data. You can look back up to 7 days or 168 hours.

*

Change log updates your index only if new content was added since you last * synced your data. Updated or deleted content from before you last synced does * not get updated in your index. To capture updated or deleted content before you * last synced, set the LookBackPeriod to the number of hours you want * change log to look back.

*/ inline bool LookBackPeriodHasBeenSet() const { return m_lookBackPeriodHasBeenSet; } /** *

The number of hours for change log to look back from when you last * synchronized your data. You can look back up to 7 days or 168 hours.

*

Change log updates your index only if new content was added since you last * synced your data. Updated or deleted content from before you last synced does * not get updated in your index. To capture updated or deleted content before you * last synced, set the LookBackPeriod to the number of hours you want * change log to look back.

*/ inline void SetLookBackPeriod(int value) { m_lookBackPeriodHasBeenSet = true; m_lookBackPeriod = value; } /** *

The number of hours for change log to look back from when you last * synchronized your data. You can look back up to 7 days or 168 hours.

*

Change log updates your index only if new content was added since you last * synced your data. Updated or deleted content from before you last synced does * not get updated in your index. To capture updated or deleted content before you * last synced, set the LookBackPeriod to the number of hours you want * change log to look back.

*/ inline SlackConfiguration& WithLookBackPeriod(int value) { SetLookBackPeriod(value); return *this;} /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline const Aws::Vector& GetPrivateChannelFilter() const{ return m_privateChannelFilter; } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline bool PrivateChannelFilterHasBeenSet() const { return m_privateChannelFilterHasBeenSet; } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline void SetPrivateChannelFilter(const Aws::Vector& value) { m_privateChannelFilterHasBeenSet = true; m_privateChannelFilter = value; } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline void SetPrivateChannelFilter(Aws::Vector&& value) { m_privateChannelFilterHasBeenSet = true; m_privateChannelFilter = std::move(value); } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline SlackConfiguration& WithPrivateChannelFilter(const Aws::Vector& value) { SetPrivateChannelFilter(value); return *this;} /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline SlackConfiguration& WithPrivateChannelFilter(Aws::Vector&& value) { SetPrivateChannelFilter(std::move(value)); return *this;} /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline SlackConfiguration& AddPrivateChannelFilter(const Aws::String& value) { m_privateChannelFilterHasBeenSet = true; m_privateChannelFilter.push_back(value); return *this; } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline SlackConfiguration& AddPrivateChannelFilter(Aws::String&& value) { m_privateChannelFilterHasBeenSet = true; m_privateChannelFilter.push_back(std::move(value)); return *this; } /** *

The list of private channel names from your Slack workspace team. You use * this if you want to index specific private channels, not all private channels. * You can also use regular expression patterns to filter private channels.

*/ inline SlackConfiguration& AddPrivateChannelFilter(const char* value) { m_privateChannelFilterHasBeenSet = true; m_privateChannelFilter.push_back(value); return *this; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline const Aws::Vector& GetPublicChannelFilter() const{ return m_publicChannelFilter; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline bool PublicChannelFilterHasBeenSet() const { return m_publicChannelFilterHasBeenSet; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline void SetPublicChannelFilter(const Aws::Vector& value) { m_publicChannelFilterHasBeenSet = true; m_publicChannelFilter = value; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline void SetPublicChannelFilter(Aws::Vector&& value) { m_publicChannelFilterHasBeenSet = true; m_publicChannelFilter = std::move(value); } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline SlackConfiguration& WithPublicChannelFilter(const Aws::Vector& value) { SetPublicChannelFilter(value); return *this;} /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline SlackConfiguration& WithPublicChannelFilter(Aws::Vector&& value) { SetPublicChannelFilter(std::move(value)); return *this;} /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline SlackConfiguration& AddPublicChannelFilter(const Aws::String& value) { m_publicChannelFilterHasBeenSet = true; m_publicChannelFilter.push_back(value); return *this; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline SlackConfiguration& AddPublicChannelFilter(Aws::String&& value) { m_publicChannelFilterHasBeenSet = true; m_publicChannelFilter.push_back(std::move(value)); return *this; } /** *

The list of public channel names to index from your Slack workspace team. You * use this if you want to index specific public channels, not all public channels. * You can also use regular expression patterns to filter public channels.

*/ inline SlackConfiguration& AddPublicChannelFilter(const char* value) { m_publicChannelFilterHasBeenSet = true; m_publicChannelFilter.push_back(value); return *this; } /** *

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to include certain attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

*/ inline SlackConfiguration& 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 attached files in * your Slack workspace team. Files that match the patterns are included in the * index. Files that don't match the patterns are excluded from the index. If a * file matches both an inclusion and exclusion pattern, the exclusion pattern * takes precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

A list of regular expression patterns to exclude certain attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

*/ inline SlackConfiguration& 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 attached files in * your Slack workspace team. Files that match the patterns are excluded from the * index. Files that don’t match the patterns are included in the index. If a file * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the file isn't included in the index.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline SlackConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } private: Aws::String m_teamId; bool m_teamIdHasBeenSet = false; Aws::String m_secretArn; bool m_secretArnHasBeenSet = false; DataSourceVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; Aws::Vector m_slackEntityList; bool m_slackEntityListHasBeenSet = false; bool m_useChangeLog; bool m_useChangeLogHasBeenSet = false; bool m_crawlBotMessage; bool m_crawlBotMessageHasBeenSet = false; bool m_excludeArchived; bool m_excludeArchivedHasBeenSet = false; Aws::String m_sinceCrawlDate; bool m_sinceCrawlDateHasBeenSet = false; int m_lookBackPeriod; bool m_lookBackPeriodHasBeenSet = false; Aws::Vector m_privateChannelFilter; bool m_privateChannelFilterHasBeenSet = false; Aws::Vector m_publicChannelFilter; bool m_publicChannelFilterHasBeenSet = false; Aws::Vector m_inclusionPatterns; bool m_inclusionPatternsHasBeenSet = false; Aws::Vector m_exclusionPatterns; bool m_exclusionPatternsHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws