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

commonMain.aws.sdk.kotlin.services.qbusiness.model.CreatePluginRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.qbusiness.model



public class CreatePluginRequest private constructor(builder: Builder) {
    /**
     * The identifier of the application that will contain the plugin.
     */
    public val applicationId: kotlin.String? = builder.applicationId
    /**
     * Authentication configuration information for an Amazon Q Business plugin.
     */
    public val authConfiguration: aws.sdk.kotlin.services.qbusiness.model.PluginAuthConfiguration? = builder.authConfiguration
    /**
     * A token that you provide to identify the request to create your Amazon Q Business plugin.
     */
    public val clientToken: kotlin.String? = builder.clientToken
    /**
     * A the name for your plugin.
     */
    public val displayName: kotlin.String? = builder.displayName
    /**
     * The source URL used for plugin configuration.
     */
    public val serverUrl: kotlin.String? = builder.serverUrl
    /**
     * A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
     */
    public val tags: List? = builder.tags
    /**
     * The type of plugin you want to create.
     */
    public val type: aws.sdk.kotlin.services.qbusiness.model.PluginType? = builder.type

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

    override fun toString(): kotlin.String = buildString {
        append("CreatePluginRequest(")
        append("applicationId=$applicationId,")
        append("authConfiguration=$authConfiguration,")
        append("clientToken=$clientToken,")
        append("displayName=$displayName,")
        append("serverUrl=$serverUrl,")
        append("tags=$tags,")
        append("type=$type")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = applicationId?.hashCode() ?: 0
        result = 31 * result + (authConfiguration?.hashCode() ?: 0)
        result = 31 * result + (clientToken?.hashCode() ?: 0)
        result = 31 * result + (displayName?.hashCode() ?: 0)
        result = 31 * result + (serverUrl?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (type?.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 CreatePluginRequest

        if (applicationId != other.applicationId) return false
        if (authConfiguration != other.authConfiguration) return false
        if (clientToken != other.clientToken) return false
        if (displayName != other.displayName) return false
        if (serverUrl != other.serverUrl) return false
        if (tags != other.tags) return false
        if (type != other.type) return false

        return true
    }

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

    public class Builder {
        /**
         * The identifier of the application that will contain the plugin.
         */
        public var applicationId: kotlin.String? = null
        /**
         * Authentication configuration information for an Amazon Q Business plugin.
         */
        public var authConfiguration: aws.sdk.kotlin.services.qbusiness.model.PluginAuthConfiguration? = null
        /**
         * A token that you provide to identify the request to create your Amazon Q Business plugin.
         */
        public var clientToken: kotlin.String? = null
        /**
         * A the name for your plugin.
         */
        public var displayName: kotlin.String? = null
        /**
         * The source URL used for plugin configuration.
         */
        public var serverUrl: kotlin.String? = null
        /**
         * A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
         */
        public var tags: List? = null
        /**
         * The type of plugin you want to create.
         */
        public var type: aws.sdk.kotlin.services.qbusiness.model.PluginType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.qbusiness.model.CreatePluginRequest) : this() {
            this.applicationId = x.applicationId
            this.authConfiguration = x.authConfiguration
            this.clientToken = x.clientToken
            this.displayName = x.displayName
            this.serverUrl = x.serverUrl
            this.tags = x.tags
            this.type = x.type
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy