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

commonMain.aws.sdk.kotlin.services.kafkaconnect.model.DescribeConnectorResponse.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.kafkaconnect.model

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

public class DescribeConnectorResponse private constructor(builder: Builder) {
    /**
     * Information about the capacity of the connector, whether it is auto scaled or provisioned.
     */
    public val capacity: aws.sdk.kotlin.services.kafkaconnect.model.CapacityDescription? = builder.capacity
    /**
     * The Amazon Resource Name (ARN) of the connector.
     */
    public val connectorArn: kotlin.String? = builder.connectorArn
    /**
     * A map of keys to values that represent the configuration for the connector.
     */
    public val connectorConfiguration: Map? = builder.connectorConfiguration
    /**
     * A summary description of the connector.
     */
    public val connectorDescription: kotlin.String? = builder.connectorDescription
    /**
     * The name of the connector.
     */
    public val connectorName: kotlin.String? = builder.connectorName
    /**
     * The state of the connector.
     */
    public val connectorState: aws.sdk.kotlin.services.kafkaconnect.model.ConnectorState? = builder.connectorState
    /**
     * The time the connector was created.
     */
    public val creationTime: aws.smithy.kotlin.runtime.time.Instant? = builder.creationTime
    /**
     * The current version of the connector.
     */
    public val currentVersion: kotlin.String? = builder.currentVersion
    /**
     * The Apache Kafka cluster that the connector is connected to.
     */
    public val kafkaCluster: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterDescription? = builder.kafkaCluster
    /**
     * The type of client authentication used to connect to the Apache Kafka cluster. The value is NONE when no client authentication is used.
     */
    public val kafkaClusterClientAuthentication: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterClientAuthenticationDescription? = builder.kafkaClusterClientAuthentication
    /**
     * Details of encryption in transit to the Apache Kafka cluster.
     */
    public val kafkaClusterEncryptionInTransit: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterEncryptionInTransitDescription? = builder.kafkaClusterEncryptionInTransit
    /**
     * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
     */
    public val kafkaConnectVersion: kotlin.String? = builder.kafkaConnectVersion
    /**
     * Details about delivering logs to Amazon CloudWatch Logs.
     */
    public val logDelivery: aws.sdk.kotlin.services.kafkaconnect.model.LogDeliveryDescription? = builder.logDelivery
    /**
     * Specifies which plugins were used for this connector.
     */
    public val plugins: List? = builder.plugins
    /**
     * The Amazon Resource Name (ARN) of the IAM role used by the connector to access Amazon Web Services resources.
     */
    public val serviceExecutionRoleArn: kotlin.String? = builder.serviceExecutionRoleArn
    /**
     * Details about the state of a connector.
     */
    public val stateDescription: aws.sdk.kotlin.services.kafkaconnect.model.StateDescription? = builder.stateDescription
    /**
     * Specifies which worker configuration was used for the connector.
     */
    public val workerConfiguration: aws.sdk.kotlin.services.kafkaconnect.model.WorkerConfigurationDescription? = builder.workerConfiguration

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

    override fun toString(): kotlin.String = buildString {
        append("DescribeConnectorResponse(")
        append("capacity=$capacity,")
        append("connectorArn=$connectorArn,")
        append("connectorConfiguration=*** Sensitive Data Redacted ***,")
        append("connectorDescription=$connectorDescription,")
        append("connectorName=$connectorName,")
        append("connectorState=$connectorState,")
        append("creationTime=$creationTime,")
        append("currentVersion=$currentVersion,")
        append("kafkaCluster=$kafkaCluster,")
        append("kafkaClusterClientAuthentication=$kafkaClusterClientAuthentication,")
        append("kafkaClusterEncryptionInTransit=$kafkaClusterEncryptionInTransit,")
        append("kafkaConnectVersion=$kafkaConnectVersion,")
        append("logDelivery=$logDelivery,")
        append("plugins=$plugins,")
        append("serviceExecutionRoleArn=$serviceExecutionRoleArn,")
        append("stateDescription=$stateDescription,")
        append("workerConfiguration=$workerConfiguration")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = capacity?.hashCode() ?: 0
        result = 31 * result + (connectorArn?.hashCode() ?: 0)
        result = 31 * result + (connectorConfiguration?.hashCode() ?: 0)
        result = 31 * result + (connectorDescription?.hashCode() ?: 0)
        result = 31 * result + (connectorName?.hashCode() ?: 0)
        result = 31 * result + (connectorState?.hashCode() ?: 0)
        result = 31 * result + (creationTime?.hashCode() ?: 0)
        result = 31 * result + (currentVersion?.hashCode() ?: 0)
        result = 31 * result + (kafkaCluster?.hashCode() ?: 0)
        result = 31 * result + (kafkaClusterClientAuthentication?.hashCode() ?: 0)
        result = 31 * result + (kafkaClusterEncryptionInTransit?.hashCode() ?: 0)
        result = 31 * result + (kafkaConnectVersion?.hashCode() ?: 0)
        result = 31 * result + (logDelivery?.hashCode() ?: 0)
        result = 31 * result + (plugins?.hashCode() ?: 0)
        result = 31 * result + (serviceExecutionRoleArn?.hashCode() ?: 0)
        result = 31 * result + (stateDescription?.hashCode() ?: 0)
        result = 31 * result + (workerConfiguration?.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 DescribeConnectorResponse

        if (capacity != other.capacity) return false
        if (connectorArn != other.connectorArn) return false
        if (connectorConfiguration != other.connectorConfiguration) return false
        if (connectorDescription != other.connectorDescription) return false
        if (connectorName != other.connectorName) return false
        if (connectorState != other.connectorState) return false
        if (creationTime != other.creationTime) return false
        if (currentVersion != other.currentVersion) return false
        if (kafkaCluster != other.kafkaCluster) return false
        if (kafkaClusterClientAuthentication != other.kafkaClusterClientAuthentication) return false
        if (kafkaClusterEncryptionInTransit != other.kafkaClusterEncryptionInTransit) return false
        if (kafkaConnectVersion != other.kafkaConnectVersion) return false
        if (logDelivery != other.logDelivery) return false
        if (plugins != other.plugins) return false
        if (serviceExecutionRoleArn != other.serviceExecutionRoleArn) return false
        if (stateDescription != other.stateDescription) return false
        if (workerConfiguration != other.workerConfiguration) return false

        return true
    }

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

    public class Builder {
        /**
         * Information about the capacity of the connector, whether it is auto scaled or provisioned.
         */
        public var capacity: aws.sdk.kotlin.services.kafkaconnect.model.CapacityDescription? = null
        /**
         * The Amazon Resource Name (ARN) of the connector.
         */
        public var connectorArn: kotlin.String? = null
        /**
         * A map of keys to values that represent the configuration for the connector.
         */
        public var connectorConfiguration: Map? = null
        /**
         * A summary description of the connector.
         */
        public var connectorDescription: kotlin.String? = null
        /**
         * The name of the connector.
         */
        public var connectorName: kotlin.String? = null
        /**
         * The state of the connector.
         */
        public var connectorState: aws.sdk.kotlin.services.kafkaconnect.model.ConnectorState? = null
        /**
         * The time the connector was created.
         */
        public var creationTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The current version of the connector.
         */
        public var currentVersion: kotlin.String? = null
        /**
         * The Apache Kafka cluster that the connector is connected to.
         */
        public var kafkaCluster: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterDescription? = null
        /**
         * The type of client authentication used to connect to the Apache Kafka cluster. The value is NONE when no client authentication is used.
         */
        public var kafkaClusterClientAuthentication: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterClientAuthenticationDescription? = null
        /**
         * Details of encryption in transit to the Apache Kafka cluster.
         */
        public var kafkaClusterEncryptionInTransit: aws.sdk.kotlin.services.kafkaconnect.model.KafkaClusterEncryptionInTransitDescription? = null
        /**
         * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
         */
        public var kafkaConnectVersion: kotlin.String? = null
        /**
         * Details about delivering logs to Amazon CloudWatch Logs.
         */
        public var logDelivery: aws.sdk.kotlin.services.kafkaconnect.model.LogDeliveryDescription? = null
        /**
         * Specifies which plugins were used for this connector.
         */
        public var plugins: List? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM role used by the connector to access Amazon Web Services resources.
         */
        public var serviceExecutionRoleArn: kotlin.String? = null
        /**
         * Details about the state of a connector.
         */
        public var stateDescription: aws.sdk.kotlin.services.kafkaconnect.model.StateDescription? = null
        /**
         * Specifies which worker configuration was used for the connector.
         */
        public var workerConfiguration: aws.sdk.kotlin.services.kafkaconnect.model.WorkerConfigurationDescription? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.kafkaconnect.model.DescribeConnectorResponse) : this() {
            this.capacity = x.capacity
            this.connectorArn = x.connectorArn
            this.connectorConfiguration = x.connectorConfiguration
            this.connectorDescription = x.connectorDescription
            this.connectorName = x.connectorName
            this.connectorState = x.connectorState
            this.creationTime = x.creationTime
            this.currentVersion = x.currentVersion
            this.kafkaCluster = x.kafkaCluster
            this.kafkaClusterClientAuthentication = x.kafkaClusterClientAuthentication
            this.kafkaClusterEncryptionInTransit = x.kafkaClusterEncryptionInTransit
            this.kafkaConnectVersion = x.kafkaConnectVersion
            this.logDelivery = x.logDelivery
            this.plugins = x.plugins
            this.serviceExecutionRoleArn = x.serviceExecutionRoleArn
            this.stateDescription = x.stateDescription
            this.workerConfiguration = x.workerConfiguration
        }

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

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

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

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

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy