
commonMain.aws.sdk.kotlin.services.qbusiness.model.CreateApplicationRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.qbusiness.model
public class CreateApplicationRequest private constructor(builder: Builder) {
/**
* An option to allow end users to upload files directly during chat.
*/
public val attachmentsConfiguration: aws.sdk.kotlin.services.qbusiness.model.AttachmentsConfiguration? = builder.attachmentsConfiguration
/**
* A token that you provide to identify the request to create your Amazon Q Business application.
*/
public val clientToken: kotlin.String? = builder.clientToken
/**
* A description for the Amazon Q Business application.
*/
public val description: kotlin.String? = builder.description
/**
* A name for the Amazon Q Business application.
*/
public val displayName: kotlin.String? = builder.displayName
/**
* The identifier of the KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.
*/
public val encryptionConfiguration: aws.sdk.kotlin.services.qbusiness.model.EncryptionConfiguration? = builder.encryptionConfiguration
/**
* The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
*/
public val identityCenterInstanceArn: kotlin.String? = builder.identityCenterInstanceArn
/**
* The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
*/
public val roleArn: kotlin.String? = builder.roleArn
/**
* A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*/
public val tags: List? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.qbusiness.model.CreateApplicationRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateApplicationRequest(")
append("attachmentsConfiguration=$attachmentsConfiguration,")
append("clientToken=$clientToken,")
append("description=$description,")
append("displayName=$displayName,")
append("encryptionConfiguration=$encryptionConfiguration,")
append("identityCenterInstanceArn=$identityCenterInstanceArn,")
append("roleArn=$roleArn,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = attachmentsConfiguration?.hashCode() ?: 0
result = 31 * result + (clientToken?.hashCode() ?: 0)
result = 31 * result + (description?.hashCode() ?: 0)
result = 31 * result + (displayName?.hashCode() ?: 0)
result = 31 * result + (encryptionConfiguration?.hashCode() ?: 0)
result = 31 * result + (identityCenterInstanceArn?.hashCode() ?: 0)
result = 31 * result + (roleArn?.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 CreateApplicationRequest
if (attachmentsConfiguration != other.attachmentsConfiguration) return false
if (clientToken != other.clientToken) return false
if (description != other.description) return false
if (displayName != other.displayName) return false
if (encryptionConfiguration != other.encryptionConfiguration) return false
if (identityCenterInstanceArn != other.identityCenterInstanceArn) return false
if (roleArn != other.roleArn) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.qbusiness.model.CreateApplicationRequest = Builder(this).apply(block).build()
public class Builder {
/**
* An option to allow end users to upload files directly during chat.
*/
public var attachmentsConfiguration: aws.sdk.kotlin.services.qbusiness.model.AttachmentsConfiguration? = null
/**
* A token that you provide to identify the request to create your Amazon Q Business application.
*/
public var clientToken: kotlin.String? = null
/**
* A description for the Amazon Q Business application.
*/
public var description: kotlin.String? = null
/**
* A name for the Amazon Q Business application.
*/
public var displayName: kotlin.String? = null
/**
* The identifier of the KMS key that is used to encrypt your data. Amazon Q Business doesn't support asymmetric keys.
*/
public var encryptionConfiguration: aws.sdk.kotlin.services.qbusiness.model.EncryptionConfiguration? = null
/**
* The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
*/
public var identityCenterInstanceArn: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
*/
public var roleArn: kotlin.String? = null
/**
* A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
*/
public var tags: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.qbusiness.model.CreateApplicationRequest) : this() {
this.attachmentsConfiguration = x.attachmentsConfiguration
this.clientToken = x.clientToken
this.description = x.description
this.displayName = x.displayName
this.encryptionConfiguration = x.encryptionConfiguration
this.identityCenterInstanceArn = x.identityCenterInstanceArn
this.roleArn = x.roleArn
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.qbusiness.model.CreateApplicationRequest = CreateApplicationRequest(this)
/**
* construct an [aws.sdk.kotlin.services.qbusiness.model.AttachmentsConfiguration] inside the given [block]
*/
public fun attachmentsConfiguration(block: aws.sdk.kotlin.services.qbusiness.model.AttachmentsConfiguration.Builder.() -> kotlin.Unit) {
this.attachmentsConfiguration = aws.sdk.kotlin.services.qbusiness.model.AttachmentsConfiguration.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.qbusiness.model.EncryptionConfiguration] inside the given [block]
*/
public fun encryptionConfiguration(block: aws.sdk.kotlin.services.qbusiness.model.EncryptionConfiguration.Builder.() -> kotlin.Unit) {
this.encryptionConfiguration = aws.sdk.kotlin.services.qbusiness.model.EncryptionConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy