
commonMain.aws.sdk.kotlin.services.kendra.model.SalesforceChatterFeedConfiguration.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.kendra.model
/**
* The configuration information for syncing a Salesforce chatter feed. The contents of the object comes from the Salesforce FeedItem table.
*/
public class SalesforceChatterFeedConfiguration private constructor(builder: Builder) {
/**
* The name of the column in the Salesforce FeedItem table that contains the content to index. Typically this is the `Body` column.
*/
public val documentDataFieldName: kotlin.String = requireNotNull(builder.documentDataFieldName) { "A non-null value must be provided for documentDataFieldName" }
/**
* The name of the column in the Salesforce FeedItem table that contains the title of the document. This is typically the `Title` column.
*/
public val documentTitleFieldName: kotlin.String? = builder.documentTitleFieldName
/**
* Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.
*/
public val fieldMappings: List? = builder.fieldMappings
/**
* Filters the documents in the feed based on status of the user. When you specify `ACTIVE_USERS` only documents from users who have an active account are indexed. When you specify `STANDARD_USER` only documents for Salesforce standard users are documented. You can specify both.
*/
public val includeFilterTypes: List? = builder.includeFilterTypes
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.kendra.model.SalesforceChatterFeedConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("SalesforceChatterFeedConfiguration(")
append("documentDataFieldName=$documentDataFieldName,")
append("documentTitleFieldName=$documentTitleFieldName,")
append("fieldMappings=$fieldMappings,")
append("includeFilterTypes=$includeFilterTypes")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = documentDataFieldName.hashCode()
result = 31 * result + (documentTitleFieldName?.hashCode() ?: 0)
result = 31 * result + (fieldMappings?.hashCode() ?: 0)
result = 31 * result + (includeFilterTypes?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as SalesforceChatterFeedConfiguration
if (documentDataFieldName != other.documentDataFieldName) return false
if (documentTitleFieldName != other.documentTitleFieldName) return false
if (fieldMappings != other.fieldMappings) return false
if (includeFilterTypes != other.includeFilterTypes) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.kendra.model.SalesforceChatterFeedConfiguration = Builder(this).apply(block).build()
public class Builder {
/**
* The name of the column in the Salesforce FeedItem table that contains the content to index. Typically this is the `Body` column.
*/
public var documentDataFieldName: kotlin.String? = null
/**
* The name of the column in the Salesforce FeedItem table that contains the title of the document. This is typically the `Title` column.
*/
public var documentTitleFieldName: kotlin.String? = null
/**
* Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.
*/
public var fieldMappings: List? = null
/**
* Filters the documents in the feed based on status of the user. When you specify `ACTIVE_USERS` only documents from users who have an active account are indexed. When you specify `STANDARD_USER` only documents for Salesforce standard users are documented. You can specify both.
*/
public var includeFilterTypes: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.kendra.model.SalesforceChatterFeedConfiguration) : this() {
this.documentDataFieldName = x.documentDataFieldName
this.documentTitleFieldName = x.documentTitleFieldName
this.fieldMappings = x.fieldMappings
this.includeFilterTypes = x.includeFilterTypes
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.kendra.model.SalesforceChatterFeedConfiguration = SalesforceChatterFeedConfiguration(this)
internal fun correctErrors(): Builder {
if (documentDataFieldName == null) documentDataFieldName = ""
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy