commonMain.aws.sdk.kotlin.services.glue.model.PiiDetection.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of glue-jvm Show documentation
Show all versions of glue-jvm Show documentation
The AWS SDK for Kotlin client for Glue
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.glue.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Specifies a transform that identifies, removes or masks PII data.
*/
public class PiiDetection private constructor(builder: Builder) {
/**
* Indicates the types of entities the PIIDetection transform will identify as PII data.
*
* PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE
*/
public val entityTypesToDetect: List = requireNotNull(builder.entityTypesToDetect) { "A non-null value must be provided for entityTypesToDetect" }
/**
* The node ID inputs to the transform.
*/
public val inputs: List = requireNotNull(builder.inputs) { "A non-null value must be provided for inputs" }
/**
* Indicates the value that will replace the detected entity.
*/
public val maskValue: kotlin.String? = builder.maskValue
/**
* The name of the transform node.
*/
public val name: kotlin.String = requireNotNull(builder.name) { "A non-null value must be provided for name" }
/**
* Indicates the output column name that will contain any entity type detected in that row.
*/
public val outputColumnName: kotlin.String? = builder.outputColumnName
/**
* Indicates the type of PIIDetection transform.
*/
public val piiType: aws.sdk.kotlin.services.glue.model.PiiType = requireNotNull(builder.piiType) { "A non-null value must be provided for piiType" }
/**
* Indicates the fraction of the data to sample when scanning for PII entities.
*/
public val sampleFraction: kotlin.Double? = builder.sampleFraction
/**
* Indicates the fraction of the data that must be met in order for a column to be identified as PII data.
*/
public val thresholdFraction: kotlin.Double? = builder.thresholdFraction
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.glue.model.PiiDetection = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("PiiDetection(")
append("entityTypesToDetect=$entityTypesToDetect,")
append("inputs=$inputs,")
append("maskValue=$maskValue,")
append("name=$name,")
append("outputColumnName=$outputColumnName,")
append("piiType=$piiType,")
append("sampleFraction=$sampleFraction,")
append("thresholdFraction=$thresholdFraction")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = entityTypesToDetect.hashCode()
result = 31 * result + (inputs.hashCode())
result = 31 * result + (maskValue?.hashCode() ?: 0)
result = 31 * result + (name.hashCode())
result = 31 * result + (outputColumnName?.hashCode() ?: 0)
result = 31 * result + (piiType.hashCode())
result = 31 * result + (sampleFraction?.hashCode() ?: 0)
result = 31 * result + (thresholdFraction?.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 PiiDetection
if (entityTypesToDetect != other.entityTypesToDetect) return false
if (inputs != other.inputs) return false
if (maskValue != other.maskValue) return false
if (name != other.name) return false
if (outputColumnName != other.outputColumnName) return false
if (piiType != other.piiType) return false
if (!(sampleFraction?.equals(other.sampleFraction) ?: (other.sampleFraction == null))) return false
if (!(thresholdFraction?.equals(other.thresholdFraction) ?: (other.thresholdFraction == null))) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.glue.model.PiiDetection = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Indicates the types of entities the PIIDetection transform will identify as PII data.
*
* PII type entities include: PERSON_NAME, DATE, USA_SNN, EMAIL, USA_ITIN, USA_PASSPORT_NUMBER, PHONE_NUMBER, BANK_ACCOUNT, IP_ADDRESS, MAC_ADDRESS, USA_CPT_CODE, USA_HCPCS_CODE, USA_NATIONAL_DRUG_CODE, USA_MEDICARE_BENEFICIARY_IDENTIFIER, USA_HEALTH_INSURANCE_CLAIM_NUMBER,CREDIT_CARD,USA_NATIONAL_PROVIDER_IDENTIFIER,USA_DEA_NUMBER,USA_DRIVING_LICENSE
*/
public var entityTypesToDetect: List? = null
/**
* The node ID inputs to the transform.
*/
public var inputs: List? = null
/**
* Indicates the value that will replace the detected entity.
*/
public var maskValue: kotlin.String? = null
/**
* The name of the transform node.
*/
public var name: kotlin.String? = null
/**
* Indicates the output column name that will contain any entity type detected in that row.
*/
public var outputColumnName: kotlin.String? = null
/**
* Indicates the type of PIIDetection transform.
*/
public var piiType: aws.sdk.kotlin.services.glue.model.PiiType? = null
/**
* Indicates the fraction of the data to sample when scanning for PII entities.
*/
public var sampleFraction: kotlin.Double? = null
/**
* Indicates the fraction of the data that must be met in order for a column to be identified as PII data.
*/
public var thresholdFraction: kotlin.Double? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.glue.model.PiiDetection) : this() {
this.entityTypesToDetect = x.entityTypesToDetect
this.inputs = x.inputs
this.maskValue = x.maskValue
this.name = x.name
this.outputColumnName = x.outputColumnName
this.piiType = x.piiType
this.sampleFraction = x.sampleFraction
this.thresholdFraction = x.thresholdFraction
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.glue.model.PiiDetection = PiiDetection(this)
internal fun correctErrors(): Builder {
if (entityTypesToDetect == null) entityTypesToDetect = emptyList()
if (inputs == null) inputs = emptyList()
if (name == null) name = ""
if (piiType == null) piiType = PiiType.SdkUnknown("no value provided")
return this
}
}
}