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

commonMain.aws.sdk.kotlin.services.databrew.model.EntityDetectorConfiguration.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.databrew.model



/**
 * Configuration of entity detection for a profile job. When undefined, entity detection is disabled.
 */
public class EntityDetectorConfiguration private constructor(builder: Builder) {
    /**
     * Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.
     */
    public val allowedStatistics: List? = builder.allowedStatistics
    /**
     * Entity types to detect. Can be any of the following:
     * + USA_SSN
     * + EMAIL
     * + USA_ITIN
     * + USA_PASSPORT_NUMBER
     * + PHONE_NUMBER
     * + USA_DRIVING_LICENSE
     * + BANK_ACCOUNT
     * + CREDIT_CARD
     * + IP_ADDRESS
     * + MAC_ADDRESS
     * + USA_DEA_NUMBER
     * + USA_HCPCS_CODE
     * + USA_NATIONAL_PROVIDER_IDENTIFIER
     * + USA_NATIONAL_DRUG_CODE
     * + USA_HEALTH_INSURANCE_CLAIM_NUMBER
     * + USA_MEDICARE_BENEFICIARY_IDENTIFIER
     * + USA_CPT_CODE
     * + PERSON_NAME
     * + DATE
     *
     * The Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.
     */
    public val entityTypes: List = requireNotNull(builder.entityTypes) { "A non-null value must be provided for entityTypes" }

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.databrew.model.EntityDetectorConfiguration = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("EntityDetectorConfiguration(")
        append("allowedStatistics=$allowedStatistics,")
        append("entityTypes=$entityTypes")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = allowedStatistics?.hashCode() ?: 0
        result = 31 * result + (entityTypes.hashCode())
        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 EntityDetectorConfiguration

        if (allowedStatistics != other.allowedStatistics) return false
        if (entityTypes != other.entityTypes) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.databrew.model.EntityDetectorConfiguration = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Configuration of statistics that are allowed to be run on columns that contain detected entities. When undefined, no statistics will be computed on columns that contain detected entities.
         */
        public var allowedStatistics: List? = null
        /**
         * Entity types to detect. Can be any of the following:
         * + USA_SSN
         * + EMAIL
         * + USA_ITIN
         * + USA_PASSPORT_NUMBER
         * + PHONE_NUMBER
         * + USA_DRIVING_LICENSE
         * + BANK_ACCOUNT
         * + CREDIT_CARD
         * + IP_ADDRESS
         * + MAC_ADDRESS
         * + USA_DEA_NUMBER
         * + USA_HCPCS_CODE
         * + USA_NATIONAL_PROVIDER_IDENTIFIER
         * + USA_NATIONAL_DRUG_CODE
         * + USA_HEALTH_INSURANCE_CLAIM_NUMBER
         * + USA_MEDICARE_BENEFICIARY_IDENTIFIER
         * + USA_CPT_CODE
         * + PERSON_NAME
         * + DATE
         *
         * The Entity type group USA_ALL is also supported, and includes all of the above entity types except PERSON_NAME and DATE.
         */
        public var entityTypes: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.databrew.model.EntityDetectorConfiguration) : this() {
            this.allowedStatistics = x.allowedStatistics
            this.entityTypes = x.entityTypes
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.databrew.model.EntityDetectorConfiguration = EntityDetectorConfiguration(this)

        internal fun correctErrors(): Builder {
            if (entityTypes == null) entityTypes = emptyList()
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy