All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.googleapis.bigquery.StorageDescriptor.scala Maven / Gradle / Ivy

There is a newer version: 0.6.1-v2-20241111
Show newest version
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