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

io.github.vigoo.zioaws.redshiftdata.model.DescribeTableResponse.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.redshiftdata.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class DescribeTableResponse(columnList: scala.Option[Iterable[ColumnMetadata]] = None, nextToken: scala.Option[String] = None, tableName: scala.Option[String] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.redshiftdata.model.DescribeTableResponse = {
    import DescribeTableResponse.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.redshiftdata.model.DescribeTableResponse.builder().optionallyWith(columnList.map(value => value.map { item => 
      item.buildAwsValue()
    }.asJavaCollection))(_.columnList).optionallyWith(nextToken.map(value => value: java.lang.String))(_.nextToken).optionallyWith(tableName.map(value => value: java.lang.String))(_.tableName).build()
  }
  def asReadOnly: DescribeTableResponse.ReadOnly = DescribeTableResponse.wrap(buildAwsValue())
}
object DescribeTableResponse {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.redshiftdata.model.DescribeTableResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: DescribeTableResponse = DescribeTableResponse(columnListValue.map(value => value.map { item => 
      item.editable
    }), nextTokenValue.map(value => value), tableNameValue.map(value => value))
    def columnListValue: scala.Option[List[ColumnMetadata.ReadOnly]]
    def nextTokenValue: scala.Option[String]
    def tableNameValue: scala.Option[String]
    def columnList: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[ColumnMetadata.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("columnList", columnListValue)
    def nextToken: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nextToken", nextTokenValue)
    def tableName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tableName", tableNameValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.redshiftdata.model.DescribeTableResponse) extends DescribeTableResponse.ReadOnly {
    override def columnListValue: scala.Option[List[ColumnMetadata.ReadOnly]] = scala.Option(impl.columnList()).map(value => value.asScala.map { item => 
      ColumnMetadata.wrap(item)
    }.toList)
    override def nextTokenValue: scala.Option[String] = scala.Option(impl.nextToken()).map(value => value: String)
    override def tableNameValue: scala.Option[String] = scala.Option(impl.tableName()).map(value => value: String)
  }
  def wrap(impl: software.amazon.awssdk.services.redshiftdata.model.DescribeTableResponse): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy