Class SlackConfiguration

java.lang.Object
software.amazon.awssdk.services.kendra.model.SlackConfiguration
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<SlackConfiguration.Builder,SlackConfiguration>

@Generated("software.amazon.awssdk:codegen") public final class SlackConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<SlackConfiguration.Builder,SlackConfiguration>

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 Also:
  • Method Details

    • teamId

      public final String 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/....

      Returns:
      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/....

    • secretArn

      public final String 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:

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

    • vpcConfiguration

      public final DataSourceVpcConfiguration vpcConfiguration()

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

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

      public final List<SlackEntity> slackEntityList()

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

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSlackEntityList() method.

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

      public final boolean hasSlackEntityList()
      For responses, this returns true if the service returned a value for the SlackEntityList property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • slackEntityListAsStrings

      public final List<String> slackEntityListAsStrings()

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

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSlackEntityList() method.

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

      public final Boolean 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.

      Returns:
      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.
    • crawlBotMessage

      public final Boolean crawlBotMessage()

      TRUE to index bot messages from your Slack workspace team.

      Returns:
      TRUE to index bot messages from your Slack workspace team.
    • excludeArchived

      public final Boolean excludeArchived()

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

      Returns:
      TRUE to exclude archived messages to index from your Slack workspace team.
    • sinceCrawlDate

      public final String sinceCrawlDate()

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

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

      public final Integer 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.

      Returns:
      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.

    • hasPrivateChannelFilter

      public final boolean hasPrivateChannelFilter()
      For responses, this returns true if the service returned a value for the PrivateChannelFilter property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • privateChannelFilter

      public final List<String> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasPrivateChannelFilter() method.

      Returns:
      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.
    • hasPublicChannelFilter

      public final boolean hasPublicChannelFilter()
      For responses, this returns true if the service returned a value for the PublicChannelFilter property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • publicChannelFilter

      public final List<String> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasPublicChannelFilter() method.

      Returns:
      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.
    • hasInclusionPatterns

      public final boolean hasInclusionPatterns()
      For responses, this returns true if the service returned a value for the InclusionPatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • inclusionPatterns

      public final List<String> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInclusionPatterns() method.

      Returns:
      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.
    • hasExclusionPatterns

      public final boolean hasExclusionPatterns()
      For responses, this returns true if the service returned a value for the ExclusionPatterns property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • exclusionPatterns

      public final List<String> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasExclusionPatterns() method.

      Returns:
      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.
    • hasFieldMappings

      public final boolean hasFieldMappings()
      For responses, this returns true if the service returned a value for the FieldMappings property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • fieldMappings

      public final List<DataSourceToIndexFieldMapping> 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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasFieldMappings() method.

      Returns:
      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.
    • toBuilder

      public SlackConfiguration.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<SlackConfiguration.Builder,SlackConfiguration>
      Returns:
      a builder for type T
    • builder

      public static SlackConfiguration.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SlackConfiguration.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.