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

commonMain.aws.sdk.kotlin.services.opensearch.model.DomainPackageDetails.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.opensearch.model

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

/**
 * Information about a package that is associated with a domain. For more information, see [Custom packages for Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html).
 */
public class DomainPackageDetails private constructor(builder: Builder) {
    /**
     * Name of the domain that the package is associated with.
     */
    public val domainName: kotlin.String? = builder.domainName
    /**
     * State of the association.
     */
    public val domainPackageStatus: aws.sdk.kotlin.services.opensearch.model.DomainPackageStatus? = builder.domainPackageStatus
    /**
     * Additional information if the package is in an error state. Null otherwise.
     */
    public val errorDetails: aws.sdk.kotlin.services.opensearch.model.ErrorDetails? = builder.errorDetails
    /**
     * Timestamp of the most recent update to the package association status.
     */
    public val lastUpdated: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdated
    /**
     * Internal ID of the package.
     */
    public val packageId: kotlin.String? = builder.packageId
    /**
     * User-specified name of the package.
     */
    public val packageName: kotlin.String? = builder.packageName
    /**
     * The type of package.
     */
    public val packageType: aws.sdk.kotlin.services.opensearch.model.PackageType? = builder.packageType
    /**
     * The current version of the package.
     */
    public val packageVersion: kotlin.String? = builder.packageVersion
    /**
     * The relative path of the package on the OpenSearch Service cluster nodes. This is `synonym_path` when the package is for synonym files.
     */
    public val referencePath: kotlin.String? = builder.referencePath

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

    override fun toString(): kotlin.String = buildString {
        append("DomainPackageDetails(")
        append("domainName=$domainName,")
        append("domainPackageStatus=$domainPackageStatus,")
        append("errorDetails=$errorDetails,")
        append("lastUpdated=$lastUpdated,")
        append("packageId=$packageId,")
        append("packageName=$packageName,")
        append("packageType=$packageType,")
        append("packageVersion=$packageVersion,")
        append("referencePath=$referencePath")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = domainName?.hashCode() ?: 0
        result = 31 * result + (domainPackageStatus?.hashCode() ?: 0)
        result = 31 * result + (errorDetails?.hashCode() ?: 0)
        result = 31 * result + (lastUpdated?.hashCode() ?: 0)
        result = 31 * result + (packageId?.hashCode() ?: 0)
        result = 31 * result + (packageName?.hashCode() ?: 0)
        result = 31 * result + (packageType?.hashCode() ?: 0)
        result = 31 * result + (packageVersion?.hashCode() ?: 0)
        result = 31 * result + (referencePath?.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 DomainPackageDetails

        if (domainName != other.domainName) return false
        if (domainPackageStatus != other.domainPackageStatus) return false
        if (errorDetails != other.errorDetails) return false
        if (lastUpdated != other.lastUpdated) return false
        if (packageId != other.packageId) return false
        if (packageName != other.packageName) return false
        if (packageType != other.packageType) return false
        if (packageVersion != other.packageVersion) return false
        if (referencePath != other.referencePath) return false

        return true
    }

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

    public class Builder {
        /**
         * Name of the domain that the package is associated with.
         */
        public var domainName: kotlin.String? = null
        /**
         * State of the association.
         */
        public var domainPackageStatus: aws.sdk.kotlin.services.opensearch.model.DomainPackageStatus? = null
        /**
         * Additional information if the package is in an error state. Null otherwise.
         */
        public var errorDetails: aws.sdk.kotlin.services.opensearch.model.ErrorDetails? = null
        /**
         * Timestamp of the most recent update to the package association status.
         */
        public var lastUpdated: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Internal ID of the package.
         */
        public var packageId: kotlin.String? = null
        /**
         * User-specified name of the package.
         */
        public var packageName: kotlin.String? = null
        /**
         * The type of package.
         */
        public var packageType: aws.sdk.kotlin.services.opensearch.model.PackageType? = null
        /**
         * The current version of the package.
         */
        public var packageVersion: kotlin.String? = null
        /**
         * The relative path of the package on the OpenSearch Service cluster nodes. This is `synonym_path` when the package is for synonym files.
         */
        public var referencePath: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.opensearch.model.DomainPackageDetails) : this() {
            this.domainName = x.domainName
            this.domainPackageStatus = x.domainPackageStatus
            this.errorDetails = x.errorDetails
            this.lastUpdated = x.lastUpdated
            this.packageId = x.packageId
            this.packageName = x.packageName
            this.packageType = x.packageType
            this.packageVersion = x.packageVersion
            this.referencePath = x.referencePath
        }

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

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

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy