
commonMain.aws.sdk.kotlin.services.kendra.model.InlineCustomDocumentEnrichmentConfiguration.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.kendra.model
/**
* Provides the configuration information for applying basic logic to alter document metadata and content when ingesting documents into Amazon Kendra. To apply advanced logic, to go beyond what you can do with basic logic, see [HookConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_HookConfiguration.html).
*
* For more information, see [Customizing document metadata during the ingestion process](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html).
*/
public class InlineCustomDocumentEnrichmentConfiguration private constructor(builder: Builder) {
/**
* Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Kendra.
*/
public val condition: aws.sdk.kotlin.services.kendra.model.DocumentAttributeCondition? = builder.condition
/**
* `TRUE` to delete content if the condition used for the target attribute is met.
*/
public val documentContentDeletion: kotlin.Boolean = builder.documentContentDeletion
/**
* Configuration of the target document attribute or metadata field when ingesting documents into Amazon Kendra. You can also include a value.
*/
public val target: aws.sdk.kotlin.services.kendra.model.DocumentAttributeTarget? = builder.target
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.kendra.model.InlineCustomDocumentEnrichmentConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("InlineCustomDocumentEnrichmentConfiguration(")
append("condition=$condition,")
append("documentContentDeletion=$documentContentDeletion,")
append("target=$target")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = condition?.hashCode() ?: 0
result = 31 * result + (documentContentDeletion.hashCode())
result = 31 * result + (target?.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 InlineCustomDocumentEnrichmentConfiguration
if (condition != other.condition) return false
if (documentContentDeletion != other.documentContentDeletion) return false
if (target != other.target) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.kendra.model.InlineCustomDocumentEnrichmentConfiguration = Builder(this).apply(block).build()
public class Builder {
/**
* Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Kendra.
*/
public var condition: aws.sdk.kotlin.services.kendra.model.DocumentAttributeCondition? = null
/**
* `TRUE` to delete content if the condition used for the target attribute is met.
*/
public var documentContentDeletion: kotlin.Boolean = false
/**
* Configuration of the target document attribute or metadata field when ingesting documents into Amazon Kendra. You can also include a value.
*/
public var target: aws.sdk.kotlin.services.kendra.model.DocumentAttributeTarget? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.kendra.model.InlineCustomDocumentEnrichmentConfiguration) : this() {
this.condition = x.condition
this.documentContentDeletion = x.documentContentDeletion
this.target = x.target
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.kendra.model.InlineCustomDocumentEnrichmentConfiguration = InlineCustomDocumentEnrichmentConfiguration(this)
/**
* construct an [aws.sdk.kotlin.services.kendra.model.DocumentAttributeCondition] inside the given [block]
*/
public fun condition(block: aws.sdk.kotlin.services.kendra.model.DocumentAttributeCondition.Builder.() -> kotlin.Unit) {
this.condition = aws.sdk.kotlin.services.kendra.model.DocumentAttributeCondition.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.kendra.model.DocumentAttributeTarget] inside the given [block]
*/
public fun target(block: aws.sdk.kotlin.services.kendra.model.DocumentAttributeTarget.Builder.() -> kotlin.Unit) {
this.target = aws.sdk.kotlin.services.kendra.model.DocumentAttributeTarget.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy