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

commonMain.aws.sdk.kotlin.services.customerprofiles.model.GetIdentityResolutionJobResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.customerprofiles.model

import aws.smithy.kotlin.runtime.time.Instant

public class GetIdentityResolutionJobResponse private constructor(builder: Builder) {
    /**
     * Configuration settings for how to perform the auto-merging of profiles.
     */
    public val autoMerging: aws.sdk.kotlin.services.customerprofiles.model.AutoMerging? = builder.autoMerging
    /**
     * The unique name of the domain.
     */
    public val domainName: kotlin.String? = builder.domainName
    /**
     * The S3 location where the Identity Resolution Job writes result files.
     */
    public val exportingLocation: aws.sdk.kotlin.services.customerprofiles.model.ExportingLocation? = builder.exportingLocation
    /**
     * The timestamp of when the Identity Resolution Job was completed.
     */
    public val jobEndTime: aws.smithy.kotlin.runtime.time.Instant? = builder.jobEndTime
    /**
     * The timestamp of when the Identity Resolution Job will expire.
     */
    public val jobExpirationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.jobExpirationTime
    /**
     * The unique identifier of the Identity Resolution Job.
     */
    public val jobId: kotlin.String? = builder.jobId
    /**
     * The timestamp of when the Identity Resolution Job was started or will be started.
     */
    public val jobStartTime: aws.smithy.kotlin.runtime.time.Instant? = builder.jobStartTime
    /**
     * Statistics about the Identity Resolution Job.
     */
    public val jobStats: aws.sdk.kotlin.services.customerprofiles.model.JobStats? = builder.jobStats
    /**
     * The timestamp of when the Identity Resolution Job was most recently edited.
     */
    public val lastUpdatedAt: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdatedAt
    /**
     * The error messages that are generated when the Identity Resolution Job runs.
     */
    public val message: kotlin.String? = builder.message
    /**
     * The status of the Identity Resolution Job.
     * + `PENDING`: The Identity Resolution Job is scheduled but has not started yet. If you turn off the Identity Resolution feature in your domain, jobs in the `PENDING` state are deleted.
     * + `PREPROCESSING`: The Identity Resolution Job is loading your data.
     * + `FIND_MATCHING`: The Identity Resolution Job is using the machine learning model to identify profiles that belong to the same matching group.
     * + `MERGING`: The Identity Resolution Job is merging duplicate profiles.
     * + `COMPLETED`: The Identity Resolution Job completed successfully.
     * + `PARTIAL_SUCCESS`: There's a system error and not all of the data is merged. The Identity Resolution Job writes a message indicating the source of the problem.
     * + `FAILED`: The Identity Resolution Job did not merge any data. It writes a message indicating the source of the problem.
     */
    public val status: aws.sdk.kotlin.services.customerprofiles.model.IdentityResolutionJobStatus? = builder.status

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

    override fun toString(): kotlin.String = buildString {
        append("GetIdentityResolutionJobResponse(")
        append("autoMerging=$autoMerging,")
        append("domainName=$domainName,")
        append("exportingLocation=$exportingLocation,")
        append("jobEndTime=$jobEndTime,")
        append("jobExpirationTime=$jobExpirationTime,")
        append("jobId=$jobId,")
        append("jobStartTime=$jobStartTime,")
        append("jobStats=$jobStats,")
        append("lastUpdatedAt=$lastUpdatedAt,")
        append("message=$message,")
        append("status=$status")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = autoMerging?.hashCode() ?: 0
        result = 31 * result + (domainName?.hashCode() ?: 0)
        result = 31 * result + (exportingLocation?.hashCode() ?: 0)
        result = 31 * result + (jobEndTime?.hashCode() ?: 0)
        result = 31 * result + (jobExpirationTime?.hashCode() ?: 0)
        result = 31 * result + (jobId?.hashCode() ?: 0)
        result = 31 * result + (jobStartTime?.hashCode() ?: 0)
        result = 31 * result + (jobStats?.hashCode() ?: 0)
        result = 31 * result + (lastUpdatedAt?.hashCode() ?: 0)
        result = 31 * result + (message?.hashCode() ?: 0)
        result = 31 * result + (status?.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 GetIdentityResolutionJobResponse

        if (autoMerging != other.autoMerging) return false
        if (domainName != other.domainName) return false
        if (exportingLocation != other.exportingLocation) return false
        if (jobEndTime != other.jobEndTime) return false
        if (jobExpirationTime != other.jobExpirationTime) return false
        if (jobId != other.jobId) return false
        if (jobStartTime != other.jobStartTime) return false
        if (jobStats != other.jobStats) return false
        if (lastUpdatedAt != other.lastUpdatedAt) return false
        if (message != other.message) return false
        if (status != other.status) return false

        return true
    }

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

    public class Builder {
        /**
         * Configuration settings for how to perform the auto-merging of profiles.
         */
        public var autoMerging: aws.sdk.kotlin.services.customerprofiles.model.AutoMerging? = null
        /**
         * The unique name of the domain.
         */
        public var domainName: kotlin.String? = null
        /**
         * The S3 location where the Identity Resolution Job writes result files.
         */
        public var exportingLocation: aws.sdk.kotlin.services.customerprofiles.model.ExportingLocation? = null
        /**
         * The timestamp of when the Identity Resolution Job was completed.
         */
        public var jobEndTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The timestamp of when the Identity Resolution Job will expire.
         */
        public var jobExpirationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The unique identifier of the Identity Resolution Job.
         */
        public var jobId: kotlin.String? = null
        /**
         * The timestamp of when the Identity Resolution Job was started or will be started.
         */
        public var jobStartTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Statistics about the Identity Resolution Job.
         */
        public var jobStats: aws.sdk.kotlin.services.customerprofiles.model.JobStats? = null
        /**
         * The timestamp of when the Identity Resolution Job was most recently edited.
         */
        public var lastUpdatedAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The error messages that are generated when the Identity Resolution Job runs.
         */
        public var message: kotlin.String? = null
        /**
         * The status of the Identity Resolution Job.
         * + `PENDING`: The Identity Resolution Job is scheduled but has not started yet. If you turn off the Identity Resolution feature in your domain, jobs in the `PENDING` state are deleted.
         * + `PREPROCESSING`: The Identity Resolution Job is loading your data.
         * + `FIND_MATCHING`: The Identity Resolution Job is using the machine learning model to identify profiles that belong to the same matching group.
         * + `MERGING`: The Identity Resolution Job is merging duplicate profiles.
         * + `COMPLETED`: The Identity Resolution Job completed successfully.
         * + `PARTIAL_SUCCESS`: There's a system error and not all of the data is merged. The Identity Resolution Job writes a message indicating the source of the problem.
         * + `FAILED`: The Identity Resolution Job did not merge any data. It writes a message indicating the source of the problem.
         */
        public var status: aws.sdk.kotlin.services.customerprofiles.model.IdentityResolutionJobStatus? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.customerprofiles.model.GetIdentityResolutionJobResponse) : this() {
            this.autoMerging = x.autoMerging
            this.domainName = x.domainName
            this.exportingLocation = x.exportingLocation
            this.jobEndTime = x.jobEndTime
            this.jobExpirationTime = x.jobExpirationTime
            this.jobId = x.jobId
            this.jobStartTime = x.jobStartTime
            this.jobStats = x.jobStats
            this.lastUpdatedAt = x.lastUpdatedAt
            this.message = x.message
            this.status = x.status
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.customerprofiles.model.AutoMerging] inside the given [block]
         */
        public fun autoMerging(block: aws.sdk.kotlin.services.customerprofiles.model.AutoMerging.Builder.() -> kotlin.Unit) {
            this.autoMerging = aws.sdk.kotlin.services.customerprofiles.model.AutoMerging.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.customerprofiles.model.ExportingLocation] inside the given [block]
         */
        public fun exportingLocation(block: aws.sdk.kotlin.services.customerprofiles.model.ExportingLocation.Builder.() -> kotlin.Unit) {
            this.exportingLocation = aws.sdk.kotlin.services.customerprofiles.model.ExportingLocation.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.customerprofiles.model.JobStats] inside the given [block]
         */
        public fun jobStats(block: aws.sdk.kotlin.services.customerprofiles.model.JobStats.Builder.() -> kotlin.Unit) {
            this.jobStats = aws.sdk.kotlin.services.customerprofiles.model.JobStats.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy