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

commonMain.aws.sdk.kotlin.services.glue.model.CreateSchemaResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.glue.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateSchemaResponse private constructor(builder: Builder) {
    /**
     * The schema compatibility mode.
     */
    public val compatibility: aws.sdk.kotlin.services.glue.model.Compatibility? = builder.compatibility
    /**
     * The data format of the schema definition. Currently `AVRO`, `JSON` and `PROTOBUF` are supported.
     */
    public val dataFormat: aws.sdk.kotlin.services.glue.model.DataFormat? = builder.dataFormat
    /**
     * A description of the schema if specified when created.
     */
    public val description: kotlin.String? = builder.description
    /**
     * The latest version of the schema associated with the returned schema definition.
     */
    public val latestSchemaVersion: kotlin.Long? = builder.latestSchemaVersion
    /**
     * The next version of the schema associated with the returned schema definition.
     */
    public val nextSchemaVersion: kotlin.Long? = builder.nextSchemaVersion
    /**
     * The Amazon Resource Name (ARN) of the registry.
     */
    public val registryArn: kotlin.String? = builder.registryArn
    /**
     * The name of the registry.
     */
    public val registryName: kotlin.String? = builder.registryName
    /**
     * The Amazon Resource Name (ARN) of the schema.
     */
    public val schemaArn: kotlin.String? = builder.schemaArn
    /**
     * The version number of the checkpoint (the last time the compatibility mode was changed).
     */
    public val schemaCheckpoint: kotlin.Long? = builder.schemaCheckpoint
    /**
     * The name of the schema.
     */
    public val schemaName: kotlin.String? = builder.schemaName
    /**
     * The status of the schema.
     */
    public val schemaStatus: aws.sdk.kotlin.services.glue.model.SchemaStatus? = builder.schemaStatus
    /**
     * The unique identifier of the first schema version.
     */
    public val schemaVersionId: kotlin.String? = builder.schemaVersionId
    /**
     * The status of the first schema version created.
     */
    public val schemaVersionStatus: aws.sdk.kotlin.services.glue.model.SchemaVersionStatus? = builder.schemaVersionStatus
    /**
     * The tags for the schema.
     */
    public val tags: Map? = builder.tags

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

    override fun toString(): kotlin.String = buildString {
        append("CreateSchemaResponse(")
        append("compatibility=$compatibility,")
        append("dataFormat=$dataFormat,")
        append("description=$description,")
        append("latestSchemaVersion=$latestSchemaVersion,")
        append("nextSchemaVersion=$nextSchemaVersion,")
        append("registryArn=$registryArn,")
        append("registryName=$registryName,")
        append("schemaArn=$schemaArn,")
        append("schemaCheckpoint=$schemaCheckpoint,")
        append("schemaName=$schemaName,")
        append("schemaStatus=$schemaStatus,")
        append("schemaVersionId=$schemaVersionId,")
        append("schemaVersionStatus=$schemaVersionStatus,")
        append("tags=$tags")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = compatibility?.hashCode() ?: 0
        result = 31 * result + (dataFormat?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (latestSchemaVersion?.hashCode() ?: 0)
        result = 31 * result + (nextSchemaVersion?.hashCode() ?: 0)
        result = 31 * result + (registryArn?.hashCode() ?: 0)
        result = 31 * result + (registryName?.hashCode() ?: 0)
        result = 31 * result + (schemaArn?.hashCode() ?: 0)
        result = 31 * result + (schemaCheckpoint?.hashCode() ?: 0)
        result = 31 * result + (schemaName?.hashCode() ?: 0)
        result = 31 * result + (schemaStatus?.hashCode() ?: 0)
        result = 31 * result + (schemaVersionId?.hashCode() ?: 0)
        result = 31 * result + (schemaVersionStatus?.hashCode() ?: 0)
        result = 31 * result + (tags?.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 CreateSchemaResponse

        if (compatibility != other.compatibility) return false
        if (dataFormat != other.dataFormat) return false
        if (description != other.description) return false
        if (latestSchemaVersion != other.latestSchemaVersion) return false
        if (nextSchemaVersion != other.nextSchemaVersion) return false
        if (registryArn != other.registryArn) return false
        if (registryName != other.registryName) return false
        if (schemaArn != other.schemaArn) return false
        if (schemaCheckpoint != other.schemaCheckpoint) return false
        if (schemaName != other.schemaName) return false
        if (schemaStatus != other.schemaStatus) return false
        if (schemaVersionId != other.schemaVersionId) return false
        if (schemaVersionStatus != other.schemaVersionStatus) return false
        if (tags != other.tags) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The schema compatibility mode.
         */
        public var compatibility: aws.sdk.kotlin.services.glue.model.Compatibility? = null
        /**
         * The data format of the schema definition. Currently `AVRO`, `JSON` and `PROTOBUF` are supported.
         */
        public var dataFormat: aws.sdk.kotlin.services.glue.model.DataFormat? = null
        /**
         * A description of the schema if specified when created.
         */
        public var description: kotlin.String? = null
        /**
         * The latest version of the schema associated with the returned schema definition.
         */
        public var latestSchemaVersion: kotlin.Long? = null
        /**
         * The next version of the schema associated with the returned schema definition.
         */
        public var nextSchemaVersion: kotlin.Long? = null
        /**
         * The Amazon Resource Name (ARN) of the registry.
         */
        public var registryArn: kotlin.String? = null
        /**
         * The name of the registry.
         */
        public var registryName: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the schema.
         */
        public var schemaArn: kotlin.String? = null
        /**
         * The version number of the checkpoint (the last time the compatibility mode was changed).
         */
        public var schemaCheckpoint: kotlin.Long? = null
        /**
         * The name of the schema.
         */
        public var schemaName: kotlin.String? = null
        /**
         * The status of the schema.
         */
        public var schemaStatus: aws.sdk.kotlin.services.glue.model.SchemaStatus? = null
        /**
         * The unique identifier of the first schema version.
         */
        public var schemaVersionId: kotlin.String? = null
        /**
         * The status of the first schema version created.
         */
        public var schemaVersionStatus: aws.sdk.kotlin.services.glue.model.SchemaVersionStatus? = null
        /**
         * The tags for the schema.
         */
        public var tags: Map? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.glue.model.CreateSchemaResponse) : this() {
            this.compatibility = x.compatibility
            this.dataFormat = x.dataFormat
            this.description = x.description
            this.latestSchemaVersion = x.latestSchemaVersion
            this.nextSchemaVersion = x.nextSchemaVersion
            this.registryArn = x.registryArn
            this.registryName = x.registryName
            this.schemaArn = x.schemaArn
            this.schemaCheckpoint = x.schemaCheckpoint
            this.schemaName = x.schemaName
            this.schemaStatus = x.schemaStatus
            this.schemaVersionId = x.schemaVersionId
            this.schemaVersionStatus = x.schemaVersionStatus
            this.tags = x.tags
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy