
io.github.vigoo.zioaws.redshiftdata.model.StatementData.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 StatementData(createdAt: scala.Option[primitives.Timestamp] = None, id: primitives.StatementId, isBatchStatement: scala.Option[Boolean] = None, queryParameters: scala.Option[Iterable[SqlParameter]] = None, queryString: scala.Option[primitives.StatementString] = None, queryStrings: scala.Option[Iterable[primitives.StatementString]] = None, secretArn: scala.Option[primitives.SecretArn] = None, statementName: scala.Option[primitives.StatementNameString] = None, status: scala.Option[StatusString] = None, updatedAt: scala.Option[primitives.Timestamp] = None) {
def buildAwsValue(): software.amazon.awssdk.services.redshiftdata.model.StatementData = {
import StatementData.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.redshiftdata.model.StatementData.builder().optionallyWith(createdAt.map(value => value: java.time.Instant))(_.createdAt).id(id: java.lang.String).optionallyWith(isBatchStatement.map(value => value: java.lang.Boolean))(_.isBatchStatement).optionallyWith(queryParameters.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.queryParameters).optionallyWith(queryString.map(value => value: java.lang.String))(_.queryString).optionallyWith(queryStrings.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.queryStrings).optionallyWith(secretArn.map(value => value: java.lang.String))(_.secretArn).optionallyWith(statementName.map(value => value: java.lang.String))(_.statementName).optionallyWith(status.map(value => value.unwrap))(_.status).optionallyWith(updatedAt.map(value => value: java.time.Instant))(_.updatedAt).build()
}
def asReadOnly: StatementData.ReadOnly = StatementData.wrap(buildAwsValue())
}
object StatementData {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.redshiftdata.model.StatementData] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: StatementData = StatementData(createdAtValue.map(value => value), idValue, isBatchStatementValue.map(value => value), queryParametersValue.map(value => value.map { item =>
item.editable
}), queryStringValue.map(value => value), queryStringsValue.map(value => value), secretArnValue.map(value => value), statementNameValue.map(value => value), statusValue.map(value => value), updatedAtValue.map(value => value))
def createdAtValue: scala.Option[primitives.Timestamp]
def idValue: primitives.StatementId
def isBatchStatementValue: scala.Option[Boolean]
def queryParametersValue: scala.Option[List[SqlParameter.ReadOnly]]
def queryStringValue: scala.Option[primitives.StatementString]
def queryStringsValue: scala.Option[List[primitives.StatementString]]
def secretArnValue: scala.Option[primitives.SecretArn]
def statementNameValue: scala.Option[primitives.StatementNameString]
def statusValue: scala.Option[StatusString]
def updatedAtValue: scala.Option[primitives.Timestamp]
def createdAt: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Timestamp] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("createdAt", createdAtValue)
def id: ZIO[Any, Nothing, primitives.StatementId] = ZIO.succeed(idValue)
def isBatchStatement: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Boolean] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("isBatchStatement", isBatchStatementValue)
def queryParameters: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[SqlParameter.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("queryParameters", queryParametersValue)
def queryString: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StatementString] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("queryString", queryStringValue)
def queryStrings: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.StatementString]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("queryStrings", queryStringsValue)
def secretArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SecretArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("secretArn", secretArnValue)
def statementName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.StatementNameString] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("statementName", statementNameValue)
def status: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, StatusString] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("status", statusValue)
def updatedAt: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Timestamp] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("updatedAt", updatedAtValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.redshiftdata.model.StatementData) extends StatementData.ReadOnly {
override def createdAtValue: scala.Option[primitives.Timestamp] = scala.Option(impl.createdAt()).map(value => value: primitives.Timestamp)
override def idValue: primitives.StatementId = impl.id(): primitives.StatementId
override def isBatchStatementValue: scala.Option[Boolean] = scala.Option(impl.isBatchStatement()).map(value => value: Boolean)
override def queryParametersValue: scala.Option[List[SqlParameter.ReadOnly]] = scala.Option(impl.queryParameters()).map(value => value.asScala.map { item =>
SqlParameter.wrap(item)
}.toList)
override def queryStringValue: scala.Option[primitives.StatementString] = scala.Option(impl.queryString()).map(value => value: primitives.StatementString)
override def queryStringsValue: scala.Option[List[primitives.StatementString]] = scala.Option(impl.queryStrings()).map(value => value.asScala.map { item =>
item: primitives.StatementString
}.toList)
override def secretArnValue: scala.Option[primitives.SecretArn] = scala.Option(impl.secretArn()).map(value => value: primitives.SecretArn)
override def statementNameValue: scala.Option[primitives.StatementNameString] = scala.Option(impl.statementName()).map(value => value: primitives.StatementNameString)
override def statusValue: scala.Option[StatusString] = scala.Option(impl.status()).map(value => StatusString.wrap(value))
override def updatedAtValue: scala.Option[primitives.Timestamp] = scala.Option(impl.updatedAt()).map(value => value: primitives.Timestamp)
}
def wrap(impl: software.amazon.awssdk.services.redshiftdata.model.StatementData): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy