
scala.googleapis.bigquery.JoinRestrictionPolicy.scala Maven / Gradle / Ivy
package googleapis.bigquery
import io.circe._
import io.circe.syntax._
final case class JoinRestrictionPolicy(
/** Optional. The only columns that joins are allowed on. This field is must be specified for join_conditions JOIN_ANY and JOIN_ALL and it cannot be set for JOIN_BLOCKED.
*/
joinAllowedColumns: Option[List[String]] = None,
/** Optional. Specifies if a join is required or not on queries for the view. Default is JOIN_CONDITION_UNSPECIFIED.
*/
joinCondition: Option[JoinRestrictionPolicyJoinCondition] = None,
)
object JoinRestrictionPolicy {
implicit val encoder: Encoder[JoinRestrictionPolicy] = Encoder.instance { x =>
Json.obj(
"joinAllowedColumns" := x.joinAllowedColumns,
"joinCondition" := x.joinCondition,
)
}
implicit val decoder: Decoder[JoinRestrictionPolicy] = Decoder.instance { c =>
for {
v0 <- c.get[Option[List[String]]]("joinAllowedColumns")
v1 <- c.get[Option[JoinRestrictionPolicyJoinCondition]]("joinCondition")
} yield JoinRestrictionPolicy(v0, v1)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy