Class SlackConfiguration
- All Implemented Interfaces:
Serializable
,SdkPojo
,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:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic SlackConfiguration.Builder
builder()
final Boolean
TRUE
to index bot messages from your Slack workspace team.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final Boolean
TRUE
to exclude archived messages to index from your Slack workspace team.A list of regular expression patterns to exclude certain attached files in your Slack workspace team.A list ofDataSourceToIndexFieldMapping
objects that map Slack data source attributes or field names to Amazon Kendra index field names.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the ExclusionPatterns property.final boolean
For responses, this returns true if the service returned a value for the FieldMappings property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the InclusionPatterns property.final boolean
For responses, this returns true if the service returned a value for the PrivateChannelFilter property.final boolean
For responses, this returns true if the service returned a value for the PublicChannelFilter property.final boolean
For responses, this returns true if the service returned a value for the SlackEntityList property.A list of regular expression patterns to include certain attached files in your Slack workspace team.final Integer
The number of hours for change log to look back from when you last synchronized your data.The list of private channel names from your Slack workspace team.The list of public channel names to index from your Slack workspace team.final String
The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the key-value pairs required to connect to your Slack workspace team.static Class
<? extends SlackConfiguration.Builder> final String
The date to start crawling your data from your Slack workspace team.final List
<SlackEntity> Specify whether to index public channels, private channels, group messages, and direct messages.Specify whether to index public channels, private channels, group messages, and direct messages.final String
teamId()
The identifier of the team in the Slack workspace.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final Boolean
TRUE
to use the Slack change log to determine which documents require updating in the index.Configuration information for an Amazon Virtual Private Cloud to connect to your Slack.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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
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.
- 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:
-
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.
-
-
-
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
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 theisEmpty()
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
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
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
TRUE
to index bot messages from your Slack workspace team.- Returns:
TRUE
to index bot messages from your Slack workspace team.
-
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
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
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 theisEmpty()
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
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 theisEmpty()
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
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 theisEmpty()
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
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 theisEmpty()
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
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 theisEmpty()
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
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 theUpdateIndex
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 theUpdateIndex
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
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 interfaceToCopyableBuilder<SlackConfiguration.Builder,
SlackConfiguration> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
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 anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
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. -
getValueForField
-
sdkFields
-