commonMain.aws.sdk.kotlin.services.wisdom.model.StartContentUploadRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wisdom-jvm Show documentation
Show all versions of wisdom-jvm Show documentation
The AWS SDK for Kotlin client for Wisdom
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.wisdom.model
import aws.smithy.kotlin.runtime.SdkDsl
public class StartContentUploadRequest private constructor(builder: Builder) {
/**
* The type of content to upload.
*/
public val contentType: kotlin.String = requireNotNull(builder.contentType) { "A non-null value must be provided for contentType" }
/**
* The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.
*/
public val knowledgeBaseId: kotlin.String = requireNotNull(builder.knowledgeBaseId) { "A non-null value must be provided for knowledgeBaseId" }
/**
* The expected expiration time of the generated presigned URL, specified in minutes.
*/
public val presignedUrlTimeToLive: kotlin.Int? = builder.presignedUrlTimeToLive
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.wisdom.model.StartContentUploadRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("StartContentUploadRequest(")
append("contentType=$contentType,")
append("knowledgeBaseId=$knowledgeBaseId,")
append("presignedUrlTimeToLive=$presignedUrlTimeToLive")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = contentType.hashCode()
result = 31 * result + (knowledgeBaseId.hashCode())
result = 31 * result + (presignedUrlTimeToLive ?: 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 StartContentUploadRequest
if (contentType != other.contentType) return false
if (knowledgeBaseId != other.knowledgeBaseId) return false
if (presignedUrlTimeToLive != other.presignedUrlTimeToLive) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.wisdom.model.StartContentUploadRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The type of content to upload.
*/
public var contentType: kotlin.String? = null
/**
* The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.
*/
public var knowledgeBaseId: kotlin.String? = null
/**
* The expected expiration time of the generated presigned URL, specified in minutes.
*/
public var presignedUrlTimeToLive: kotlin.Int? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.wisdom.model.StartContentUploadRequest) : this() {
this.contentType = x.contentType
this.knowledgeBaseId = x.knowledgeBaseId
this.presignedUrlTimeToLive = x.presignedUrlTimeToLive
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.wisdom.model.StartContentUploadRequest = StartContentUploadRequest(this)
internal fun correctErrors(): Builder {
if (contentType == null) contentType = ""
if (knowledgeBaseId == null) knowledgeBaseId = ""
return this
}
}
}