
scala.googleapis.bigquery.StorageDescriptor.scala Maven / Gradle / Ivy
package googleapis.bigquery
import io.circe._
import io.circe.syntax._
final case class StorageDescriptor(
/** Optional. Specifies the fully qualified class name of the InputFormat (e.g. "org.apache.hadoop.hive.ql.io.orc.OrcInputFormat"). The maximum length is 128 characters.
*/
inputFormat: Option[String] = None,
/** Optional. The physical location of the table (e.g. `gs://spark-dataproc-data/pangea-data/case_sensitive/` or `gs://spark-dataproc-data/pangea-data/\*`). The maximum length is 2056 bytes.
*/
locationUri: Option[String] = None,
/** Optional. Specifies the fully qualified class name of the OutputFormat (e.g. "org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat"). The maximum length is 128 characters.
*/
outputFormat: Option[String] = None,
/** Optional. Serializer and deserializer information.
*/
serdeInfo: Option[SerDeInfo] = None,
)
object StorageDescriptor {
implicit val encoder: Encoder[StorageDescriptor] = Encoder.instance { x =>
Json.obj(
"inputFormat" := x.inputFormat,
"locationUri" := x.locationUri,
"outputFormat" := x.outputFormat,
"serdeInfo" := x.serdeInfo,
)
}
implicit val decoder: Decoder[StorageDescriptor] = Decoder.instance { c =>
for {
v0 <- c.get[Option[String]]("inputFormat")
v1 <- c.get[Option[String]]("locationUri")
v2 <- c.get[Option[String]]("outputFormat")
v3 <- c.get[Option[SerDeInfo]]("serdeInfo")
} yield StorageDescriptor(v0, v1, v2, v3)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy