All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.kendra.model.SlackConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWSKendraFrontend module holds the client classes that are used for communicating with AWSKendraFrontend Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.kendra.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

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

* *

* Amazon Kendra now supports an upgraded Slack connector. *

*

* You must now use the TemplateConfiguration * object instead of the SlackConfiguration object to configure your connector. *

*

* Connectors configured using the older console and API architecture will continue to function as configured. However, * you won’t be able to edit or update them. If you want to edit or update your connector configuration, you must create * a new connector. *

*

* We recommended migrating your connector workflow to the upgraded version. Support for connectors configured using the * older architecture is scheduled to end by June 2024. *

*
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SlackConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

* 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/.... *

*/ private String teamId; /** *

* 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: *

* */ private String secretArn; /** *

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

*/ private DataSourceVpcConfiguration vpcConfiguration; /** *

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

*/ private java.util.List slackEntityList; /** *

* 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. *

*/ private Boolean useChangeLog; /** *

* TRUE to index bot messages from your Slack workspace team. *

*/ private Boolean crawlBotMessage; /** *

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

*/ private Boolean excludeArchived; /** *

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

*/ private String sinceCrawlDate; /** *

* 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. *

*/ private Integer lookBackPeriod; /** *

* 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. *

*/ private java.util.List privateChannelFilter; /** *

* 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. *

*/ private java.util.List publicChannelFilter; /** *

* 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. *

*/ private java.util.List inclusionPatterns; /** *

* 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. *

*/ private java.util.List exclusionPatterns; /** *

* 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. *

*/ private java.util.List fieldMappings; /** *

* 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/.... *

* * @param 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/.... */ public void setTeamId(String teamId) { this.teamId = 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/.... *

* * @return 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/.... */ public String getTeamId() { return this.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/.... *

* * @param 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/.... * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withTeamId(String teamId) { setTeamId(teamId); 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: *

* * * @param 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:

*
    *
  • *

    * slackToken—The user or bot token created in Slack. For more information on creating a token in Slack, see * * Authentication for a Slack data source. *

    *
  • */ public void setSecretArn(String secretArn) { this.secretArn = 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: *

    * * * @return 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:

    *
      *
    • *

      * slackToken—The user or bot token created in Slack. For more information on creating a token in Slack, see * * Authentication for a Slack data source. *

      *
    • */ public String getSecretArn() { return this.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: *

      * * * @param 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:

      *
        *
      • *

        * slackToken—The user or bot token created in Slack. For more information on creating a token in Slack, see * * Authentication for a Slack data source. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withSecretArn(String secretArn) { setSecretArn(secretArn); return this; } /** *

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

        * * @param vpcConfiguration * Configuration information for an Amazon Virtual Private Cloud to connect to your Slack. For more * information, see Configuring * a VPC. */ public void setVpcConfiguration(DataSourceVpcConfiguration vpcConfiguration) { this.vpcConfiguration = vpcConfiguration; } /** *

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

        * * @return Configuration information for an Amazon Virtual Private Cloud to connect to your Slack. For more * information, see Configuring a VPC. */ public DataSourceVpcConfiguration getVpcConfiguration() { return this.vpcConfiguration; } /** *

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

        * * @param vpcConfiguration * Configuration information for an Amazon Virtual Private Cloud to connect to your Slack. For more * information, see Configuring * a VPC. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withVpcConfiguration(DataSourceVpcConfiguration vpcConfiguration) { setVpcConfiguration(vpcConfiguration); return this; } /** *

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

        * * @return Specify whether to index public channels, private channels, group messages, and direct messages. You can * specify one or more of these options. * @see SlackEntity */ public java.util.List getSlackEntityList() { return slackEntityList; } /** *

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

        * * @param slackEntityList * Specify whether to index public channels, private channels, group messages, and direct messages. You can * specify one or more of these options. * @see SlackEntity */ public void setSlackEntityList(java.util.Collection slackEntityList) { if (slackEntityList == null) { this.slackEntityList = null; return; } this.slackEntityList = new java.util.ArrayList(slackEntityList); } /** *

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

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setSlackEntityList(java.util.Collection)} or {@link #withSlackEntityList(java.util.Collection)} if you * want to override the existing values. *

        * * @param slackEntityList * Specify whether to index public channels, private channels, group messages, and direct messages. You can * specify one or more of these options. * @return Returns a reference to this object so that method calls can be chained together. * @see SlackEntity */ public SlackConfiguration withSlackEntityList(String... slackEntityList) { if (this.slackEntityList == null) { setSlackEntityList(new java.util.ArrayList(slackEntityList.length)); } for (String ele : slackEntityList) { this.slackEntityList.add(ele); } return this; } /** *

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

        * * @param slackEntityList * Specify whether to index public channels, private channels, group messages, and direct messages. You can * specify one or more of these options. * @return Returns a reference to this object so that method calls can be chained together. * @see SlackEntity */ public SlackConfiguration withSlackEntityList(java.util.Collection slackEntityList) { setSlackEntityList(slackEntityList); return this; } /** *

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

        * * @param slackEntityList * Specify whether to index public channels, private channels, group messages, and direct messages. You can * specify one or more of these options. * @return Returns a reference to this object so that method calls can be chained together. * @see SlackEntity */ public SlackConfiguration withSlackEntityList(SlackEntity... slackEntityList) { java.util.ArrayList slackEntityListCopy = new java.util.ArrayList(slackEntityList.length); for (SlackEntity value : slackEntityList) { slackEntityListCopy.add(value.toString()); } if (getSlackEntityList() == null) { setSlackEntityList(slackEntityListCopy); } else { getSlackEntityList().addAll(slackEntityListCopy); } 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. *

        * * @param 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. */ public void setUseChangeLog(Boolean useChangeLog) { this.useChangeLog = 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. *

        * * @return 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. */ public Boolean getUseChangeLog() { return this.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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withUseChangeLog(Boolean useChangeLog) { setUseChangeLog(useChangeLog); 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. *

        * * @return 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. */ public Boolean isUseChangeLog() { return this.useChangeLog; } /** *

        * TRUE to index bot messages from your Slack workspace team. *

        * * @param crawlBotMessage * TRUE to index bot messages from your Slack workspace team. */ public void setCrawlBotMessage(Boolean crawlBotMessage) { this.crawlBotMessage = crawlBotMessage; } /** *

        * TRUE to index bot messages from your Slack workspace team. *

        * * @return TRUE to index bot messages from your Slack workspace team. */ public Boolean getCrawlBotMessage() { return this.crawlBotMessage; } /** *

        * TRUE to index bot messages from your Slack workspace team. *

        * * @param crawlBotMessage * TRUE to index bot messages from your Slack workspace team. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withCrawlBotMessage(Boolean crawlBotMessage) { setCrawlBotMessage(crawlBotMessage); return this; } /** *

        * TRUE to index bot messages from your Slack workspace team. *

        * * @return TRUE to index bot messages from your Slack workspace team. */ public Boolean isCrawlBotMessage() { return this.crawlBotMessage; } /** *

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

        * * @param excludeArchived * TRUE to exclude archived messages to index from your Slack workspace team. */ public void setExcludeArchived(Boolean excludeArchived) { this.excludeArchived = excludeArchived; } /** *

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

        * * @return TRUE to exclude archived messages to index from your Slack workspace team. */ public Boolean getExcludeArchived() { return this.excludeArchived; } /** *

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

        * * @param excludeArchived * TRUE to exclude archived messages to index from your Slack workspace team. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withExcludeArchived(Boolean excludeArchived) { setExcludeArchived(excludeArchived); return this; } /** *

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

        * * @return TRUE to exclude archived messages to index from your Slack workspace team. */ public Boolean isExcludeArchived() { return this.excludeArchived; } /** *

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

        * * @param sinceCrawlDate * The date to start crawling your data from your Slack workspace team. The date must follow this format: * yyyy-mm-dd. */ public void setSinceCrawlDate(String sinceCrawlDate) { this.sinceCrawlDate = sinceCrawlDate; } /** *

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

        * * @return The date to start crawling your data from your Slack workspace team. The date must follow this format: * yyyy-mm-dd. */ public String getSinceCrawlDate() { return this.sinceCrawlDate; } /** *

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

        * * @param sinceCrawlDate * The date to start crawling your data from your Slack workspace team. The date must follow this format: * yyyy-mm-dd. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withSinceCrawlDate(String sinceCrawlDate) { setSinceCrawlDate(sinceCrawlDate); 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. *

        * * @param 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. */ public void setLookBackPeriod(Integer lookBackPeriod) { this.lookBackPeriod = 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. *

        * * @return 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. */ public Integer getLookBackPeriod() { return this.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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withLookBackPeriod(Integer lookBackPeriod) { setLookBackPeriod(lookBackPeriod); 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. *

        * * @return 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. */ public java.util.List getPrivateChannelFilter() { return 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. *

        * * @param 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. */ public void setPrivateChannelFilter(java.util.Collection privateChannelFilter) { if (privateChannelFilter == null) { this.privateChannelFilter = null; return; } this.privateChannelFilter = new java.util.ArrayList(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. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setPrivateChannelFilter(java.util.Collection)} or {@link #withPrivateChannelFilter(java.util.Collection)} * if you want to override the existing values. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withPrivateChannelFilter(String... privateChannelFilter) { if (this.privateChannelFilter == null) { setPrivateChannelFilter(new java.util.ArrayList(privateChannelFilter.length)); } for (String ele : privateChannelFilter) { this.privateChannelFilter.add(ele); } 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withPrivateChannelFilter(java.util.Collection privateChannelFilter) { setPrivateChannelFilter(privateChannelFilter); 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. *

        * * @return 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. */ public java.util.List getPublicChannelFilter() { return 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. *

        * * @param 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. */ public void setPublicChannelFilter(java.util.Collection publicChannelFilter) { if (publicChannelFilter == null) { this.publicChannelFilter = null; return; } this.publicChannelFilter = new java.util.ArrayList(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. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setPublicChannelFilter(java.util.Collection)} or {@link #withPublicChannelFilter(java.util.Collection)} * if you want to override the existing values. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withPublicChannelFilter(String... publicChannelFilter) { if (this.publicChannelFilter == null) { setPublicChannelFilter(new java.util.ArrayList(publicChannelFilter.length)); } for (String ele : publicChannelFilter) { this.publicChannelFilter.add(ele); } 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withPublicChannelFilter(java.util.Collection publicChannelFilter) { setPublicChannelFilter(publicChannelFilter); 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. *

        * * @return 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. */ public java.util.List getInclusionPatterns() { return 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. *

        * * @param 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. */ public void setInclusionPatterns(java.util.Collection inclusionPatterns) { if (inclusionPatterns == null) { this.inclusionPatterns = null; return; } this.inclusionPatterns = new java.util.ArrayList(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. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setInclusionPatterns(java.util.Collection)} or {@link #withInclusionPatterns(java.util.Collection)} if * you want to override the existing values. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withInclusionPatterns(String... inclusionPatterns) { if (this.inclusionPatterns == null) { setInclusionPatterns(new java.util.ArrayList(inclusionPatterns.length)); } for (String ele : inclusionPatterns) { this.inclusionPatterns.add(ele); } 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withInclusionPatterns(java.util.Collection inclusionPatterns) { setInclusionPatterns(inclusionPatterns); 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. *

        * * @return 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. */ public java.util.List getExclusionPatterns() { return 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. *

        * * @param 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. */ public void setExclusionPatterns(java.util.Collection exclusionPatterns) { if (exclusionPatterns == null) { this.exclusionPatterns = null; return; } this.exclusionPatterns = new java.util.ArrayList(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. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setExclusionPatterns(java.util.Collection)} or {@link #withExclusionPatterns(java.util.Collection)} if * you want to override the existing values. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withExclusionPatterns(String... exclusionPatterns) { if (this.exclusionPatterns == null) { setExclusionPatterns(new java.util.ArrayList(exclusionPatterns.length)); } for (String ele : exclusionPatterns) { this.exclusionPatterns.add(ele); } 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withExclusionPatterns(java.util.Collection exclusionPatterns) { setExclusionPatterns(exclusionPatterns); 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. *

        * * @return 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. */ public java.util.List getFieldMappings() { return 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. *

        * * @param 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. */ public void setFieldMappings(java.util.Collection fieldMappings) { if (fieldMappings == null) { this.fieldMappings = null; return; } this.fieldMappings = new java.util.ArrayList(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. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setFieldMappings(java.util.Collection)} or {@link #withFieldMappings(java.util.Collection)} if you want * to override the existing values. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withFieldMappings(DataSourceToIndexFieldMapping... fieldMappings) { if (this.fieldMappings == null) { setFieldMappings(new java.util.ArrayList(fieldMappings.length)); } for (DataSourceToIndexFieldMapping ele : fieldMappings) { this.fieldMappings.add(ele); } 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. *

        * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public SlackConfiguration withFieldMappings(java.util.Collection fieldMappings) { setFieldMappings(fieldMappings); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getTeamId() != null) sb.append("TeamId: ").append(getTeamId()).append(","); if (getSecretArn() != null) sb.append("SecretArn: ").append(getSecretArn()).append(","); if (getVpcConfiguration() != null) sb.append("VpcConfiguration: ").append(getVpcConfiguration()).append(","); if (getSlackEntityList() != null) sb.append("SlackEntityList: ").append(getSlackEntityList()).append(","); if (getUseChangeLog() != null) sb.append("UseChangeLog: ").append(getUseChangeLog()).append(","); if (getCrawlBotMessage() != null) sb.append("CrawlBotMessage: ").append(getCrawlBotMessage()).append(","); if (getExcludeArchived() != null) sb.append("ExcludeArchived: ").append(getExcludeArchived()).append(","); if (getSinceCrawlDate() != null) sb.append("SinceCrawlDate: ").append(getSinceCrawlDate()).append(","); if (getLookBackPeriod() != null) sb.append("LookBackPeriod: ").append(getLookBackPeriod()).append(","); if (getPrivateChannelFilter() != null) sb.append("PrivateChannelFilter: ").append(getPrivateChannelFilter()).append(","); if (getPublicChannelFilter() != null) sb.append("PublicChannelFilter: ").append(getPublicChannelFilter()).append(","); if (getInclusionPatterns() != null) sb.append("InclusionPatterns: ").append(getInclusionPatterns()).append(","); if (getExclusionPatterns() != null) sb.append("ExclusionPatterns: ").append(getExclusionPatterns()).append(","); if (getFieldMappings() != null) sb.append("FieldMappings: ").append(getFieldMappings()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SlackConfiguration == false) return false; SlackConfiguration other = (SlackConfiguration) obj; if (other.getTeamId() == null ^ this.getTeamId() == null) return false; if (other.getTeamId() != null && other.getTeamId().equals(this.getTeamId()) == false) return false; if (other.getSecretArn() == null ^ this.getSecretArn() == null) return false; if (other.getSecretArn() != null && other.getSecretArn().equals(this.getSecretArn()) == false) return false; if (other.getVpcConfiguration() == null ^ this.getVpcConfiguration() == null) return false; if (other.getVpcConfiguration() != null && other.getVpcConfiguration().equals(this.getVpcConfiguration()) == false) return false; if (other.getSlackEntityList() == null ^ this.getSlackEntityList() == null) return false; if (other.getSlackEntityList() != null && other.getSlackEntityList().equals(this.getSlackEntityList()) == false) return false; if (other.getUseChangeLog() == null ^ this.getUseChangeLog() == null) return false; if (other.getUseChangeLog() != null && other.getUseChangeLog().equals(this.getUseChangeLog()) == false) return false; if (other.getCrawlBotMessage() == null ^ this.getCrawlBotMessage() == null) return false; if (other.getCrawlBotMessage() != null && other.getCrawlBotMessage().equals(this.getCrawlBotMessage()) == false) return false; if (other.getExcludeArchived() == null ^ this.getExcludeArchived() == null) return false; if (other.getExcludeArchived() != null && other.getExcludeArchived().equals(this.getExcludeArchived()) == false) return false; if (other.getSinceCrawlDate() == null ^ this.getSinceCrawlDate() == null) return false; if (other.getSinceCrawlDate() != null && other.getSinceCrawlDate().equals(this.getSinceCrawlDate()) == false) return false; if (other.getLookBackPeriod() == null ^ this.getLookBackPeriod() == null) return false; if (other.getLookBackPeriod() != null && other.getLookBackPeriod().equals(this.getLookBackPeriod()) == false) return false; if (other.getPrivateChannelFilter() == null ^ this.getPrivateChannelFilter() == null) return false; if (other.getPrivateChannelFilter() != null && other.getPrivateChannelFilter().equals(this.getPrivateChannelFilter()) == false) return false; if (other.getPublicChannelFilter() == null ^ this.getPublicChannelFilter() == null) return false; if (other.getPublicChannelFilter() != null && other.getPublicChannelFilter().equals(this.getPublicChannelFilter()) == false) return false; if (other.getInclusionPatterns() == null ^ this.getInclusionPatterns() == null) return false; if (other.getInclusionPatterns() != null && other.getInclusionPatterns().equals(this.getInclusionPatterns()) == false) return false; if (other.getExclusionPatterns() == null ^ this.getExclusionPatterns() == null) return false; if (other.getExclusionPatterns() != null && other.getExclusionPatterns().equals(this.getExclusionPatterns()) == false) return false; if (other.getFieldMappings() == null ^ this.getFieldMappings() == null) return false; if (other.getFieldMappings() != null && other.getFieldMappings().equals(this.getFieldMappings()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTeamId() == null) ? 0 : getTeamId().hashCode()); hashCode = prime * hashCode + ((getSecretArn() == null) ? 0 : getSecretArn().hashCode()); hashCode = prime * hashCode + ((getVpcConfiguration() == null) ? 0 : getVpcConfiguration().hashCode()); hashCode = prime * hashCode + ((getSlackEntityList() == null) ? 0 : getSlackEntityList().hashCode()); hashCode = prime * hashCode + ((getUseChangeLog() == null) ? 0 : getUseChangeLog().hashCode()); hashCode = prime * hashCode + ((getCrawlBotMessage() == null) ? 0 : getCrawlBotMessage().hashCode()); hashCode = prime * hashCode + ((getExcludeArchived() == null) ? 0 : getExcludeArchived().hashCode()); hashCode = prime * hashCode + ((getSinceCrawlDate() == null) ? 0 : getSinceCrawlDate().hashCode()); hashCode = prime * hashCode + ((getLookBackPeriod() == null) ? 0 : getLookBackPeriod().hashCode()); hashCode = prime * hashCode + ((getPrivateChannelFilter() == null) ? 0 : getPrivateChannelFilter().hashCode()); hashCode = prime * hashCode + ((getPublicChannelFilter() == null) ? 0 : getPublicChannelFilter().hashCode()); hashCode = prime * hashCode + ((getInclusionPatterns() == null) ? 0 : getInclusionPatterns().hashCode()); hashCode = prime * hashCode + ((getExclusionPatterns() == null) ? 0 : getExclusionPatterns().hashCode()); hashCode = prime * hashCode + ((getFieldMappings() == null) ? 0 : getFieldMappings().hashCode()); return hashCode; } @Override public SlackConfiguration clone() { try { return (SlackConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.kendra.model.transform.SlackConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy