commonMain.aws.sdk.kotlin.services.appflow.model.VeevaSourceProperties.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of appflow-jvm Show documentation
Show all versions of appflow-jvm Show documentation
The AWS SDK for Kotlin client for Appflow
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.appflow.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The properties that are applied when using Veeva as a flow source.
*/
public class VeevaSourceProperties private constructor(builder: Builder) {
/**
* The document type specified in the Veeva document extract flow.
*/
public val documentType: kotlin.String? = builder.documentType
/**
* Boolean value to include All Versions of files in Veeva document extract flow.
*/
public val includeAllVersions: kotlin.Boolean = builder.includeAllVersions
/**
* Boolean value to include file renditions in Veeva document extract flow.
*/
public val includeRenditions: kotlin.Boolean = builder.includeRenditions
/**
* Boolean value to include source files in Veeva document extract flow.
*/
public val includeSourceFiles: kotlin.Boolean = builder.includeSourceFiles
/**
* The object specified in the Veeva flow source.
*/
public val `object`: kotlin.String = requireNotNull(builder.`object`) { "A non-null value must be provided for `object`" }
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.appflow.model.VeevaSourceProperties = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("VeevaSourceProperties(")
append("documentType=$documentType,")
append("includeAllVersions=$includeAllVersions,")
append("includeRenditions=$includeRenditions,")
append("includeSourceFiles=$includeSourceFiles,")
append("object=$`object`")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = documentType?.hashCode() ?: 0
result = 31 * result + (includeAllVersions.hashCode())
result = 31 * result + (includeRenditions.hashCode())
result = 31 * result + (includeSourceFiles.hashCode())
result = 31 * result + (`object`.hashCode())
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 VeevaSourceProperties
if (documentType != other.documentType) return false
if (includeAllVersions != other.includeAllVersions) return false
if (includeRenditions != other.includeRenditions) return false
if (includeSourceFiles != other.includeSourceFiles) return false
if (`object` != other.`object`) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.appflow.model.VeevaSourceProperties = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The document type specified in the Veeva document extract flow.
*/
public var documentType: kotlin.String? = null
/**
* Boolean value to include All Versions of files in Veeva document extract flow.
*/
public var includeAllVersions: kotlin.Boolean = false
/**
* Boolean value to include file renditions in Veeva document extract flow.
*/
public var includeRenditions: kotlin.Boolean = false
/**
* Boolean value to include source files in Veeva document extract flow.
*/
public var includeSourceFiles: kotlin.Boolean = false
/**
* The object specified in the Veeva flow source.
*/
public var `object`: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.appflow.model.VeevaSourceProperties) : this() {
this.documentType = x.documentType
this.includeAllVersions = x.includeAllVersions
this.includeRenditions = x.includeRenditions
this.includeSourceFiles = x.includeSourceFiles
this.`object` = x.`object`
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.appflow.model.VeevaSourceProperties = VeevaSourceProperties(this)
internal fun correctErrors(): Builder {
if (`object` == null) `object` = ""
return this
}
}
}