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

io.github.vigoo.zioaws.redshiftdata.model.GetStatementResultResponse.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 GetStatementResultResponse(columnMetadata: scala.Option[Iterable[ColumnMetadata]] = None, nextToken: scala.Option[String] = None, records: Iterable[Iterable[Field]], totalNumRows: scala.Option[Long] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.redshiftdata.model.GetStatementResultResponse = {
    import GetStatementResultResponse.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.redshiftdata.model.GetStatementResultResponse.builder().optionallyWith(columnMetadata.map(value => value.map { item => 
      item.buildAwsValue()
    }.asJavaCollection))(_.columnMetadata).optionallyWith(nextToken.map(value => value: java.lang.String))(_.nextToken).records(records.map { item => 
      item.map { item => 
        item.buildAwsValue()
      }.asJavaCollection
    }.asJavaCollection).optionallyWith(totalNumRows.map(value => value: java.lang.Long))(_.totalNumRows).build()
  }
  def asReadOnly: GetStatementResultResponse.ReadOnly = GetStatementResultResponse.wrap(buildAwsValue())
}
object GetStatementResultResponse {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.redshiftdata.model.GetStatementResultResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: GetStatementResultResponse = GetStatementResultResponse(columnMetadataValue.map(value => value.map { item => 
      item.editable
    }), nextTokenValue.map(value => value), recordsValue.map { item => 
      item.map { item => 
        item.editable
      }
    }, totalNumRowsValue.map(value => value))
    def columnMetadataValue: scala.Option[List[ColumnMetadata.ReadOnly]]
    def nextTokenValue: scala.Option[String]
    def recordsValue: List[List[Field.ReadOnly]]
    def totalNumRowsValue: scala.Option[Long]
    def columnMetadata: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[ColumnMetadata.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("columnMetadata", columnMetadataValue)
    def nextToken: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nextToken", nextTokenValue)
    def records: ZIO[Any, Nothing, List[List[Field.ReadOnly]]] = ZIO.succeed(recordsValue)
    def totalNumRows: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Long] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("totalNumRows", totalNumRowsValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.redshiftdata.model.GetStatementResultResponse) extends GetStatementResultResponse.ReadOnly {
    override def columnMetadataValue: scala.Option[List[ColumnMetadata.ReadOnly]] = scala.Option(impl.columnMetadata()).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 recordsValue: List[List[Field.ReadOnly]] = impl.records().asScala.map { item => 
      item.asScala.map { item => 
        Field.wrap(item)
      }.toList
    }.toList
    override def totalNumRowsValue: scala.Option[Long] = scala.Option(impl.totalNumRows()).map(value => value: Long)
  }
  def wrap(impl: software.amazon.awssdk.services.redshiftdata.model.GetStatementResultResponse): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy