commonMain.aws.sdk.kotlin.services.firehose.model.HiveJsonSerDe.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of firehose-jvm Show documentation
Show all versions of firehose-jvm Show documentation
The AWS SDK for Kotlin client for Firehose
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.firehose.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* The native Hive / HCatalog JsonSerDe. Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.
*/
public class HiveJsonSerDe private constructor(builder: Builder) {
/**
* Indicates how you want Firehose to parse the date and timestamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see [Class DateTimeFormat](https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). You can also use the special value `millis` to parse timestamps in epoch milliseconds. If you don't specify a format, Firehose uses `java.sql.Timestamp::valueOf` by default.
*/
public val timestampFormats: List? = builder.timestampFormats
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.firehose.model.HiveJsonSerDe = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("HiveJsonSerDe(")
append("timestampFormats=$timestampFormats")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = timestampFormats?.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 HiveJsonSerDe
if (timestampFormats != other.timestampFormats) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.firehose.model.HiveJsonSerDe = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Indicates how you want Firehose to parse the date and timestamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see [Class DateTimeFormat](https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). You can also use the special value `millis` to parse timestamps in epoch milliseconds. If you don't specify a format, Firehose uses `java.sql.Timestamp::valueOf` by default.
*/
public var timestampFormats: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.firehose.model.HiveJsonSerDe) : this() {
this.timestampFormats = x.timestampFormats
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.firehose.model.HiveJsonSerDe = HiveJsonSerDe(this)
internal fun correctErrors(): Builder {
return this
}
}
}