
io.github.vigoo.zioaws.lambda.model.InvokeResponse.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.lambda.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class InvokeResponse(statusCode: scala.Option[primitives.Integer] = None, functionError: scala.Option[String] = None, logResult: scala.Option[String] = None, payload: scala.Option[primitives.Blob] = None, executedVersion: scala.Option[primitives.Version] = None) {
def buildAwsValue(): software.amazon.awssdk.services.lambda.model.InvokeResponse = {
import InvokeResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.lambda.model.InvokeResponse.builder().optionallyWith(statusCode.map(value => value: java.lang.Integer))(_.statusCode).optionallyWith(functionError.map(value => value: java.lang.String))(_.functionError).optionallyWith(logResult.map(value => value: java.lang.String))(_.logResult).optionallyWith(payload.map(value => SdkBytes.fromByteArrayUnsafe(value.toArray[Byte])))(_.payload).optionallyWith(executedVersion.map(value => value: java.lang.String))(_.executedVersion).build()
}
def asReadOnly: InvokeResponse.ReadOnly = InvokeResponse.wrap(buildAwsValue())
}
object InvokeResponse {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.InvokeResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: InvokeResponse = InvokeResponse(statusCodeValue.map(value => value), functionErrorValue.map(value => value), logResultValue.map(value => value), payloadValue.map(value => value), executedVersionValue.map(value => value))
def statusCodeValue: scala.Option[primitives.Integer]
def functionErrorValue: scala.Option[String]
def logResultValue: scala.Option[String]
def payloadValue: scala.Option[primitives.Blob]
def executedVersionValue: scala.Option[primitives.Version]
def statusCode: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Integer] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("statusCode", statusCodeValue)
def functionError: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("functionError", functionErrorValue)
def logResult: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("logResult", logResultValue)
def payload: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Blob] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("payload", payloadValue)
def executedVersion: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Version] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("executedVersion", executedVersionValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.InvokeResponse) extends InvokeResponse.ReadOnly {
override def statusCodeValue: scala.Option[primitives.Integer] = scala.Option(impl.statusCode()).map(value => value: primitives.Integer)
override def functionErrorValue: scala.Option[String] = scala.Option(impl.functionError()).map(value => value: String)
override def logResultValue: scala.Option[String] = scala.Option(impl.logResult()).map(value => value: String)
override def payloadValue: scala.Option[primitives.Blob] = scala.Option(impl.payload()).map(value => Chunk.fromArray(value.asByteArrayUnsafe()))
override def executedVersionValue: scala.Option[primitives.Version] = scala.Option(impl.executedVersion()).map(value => value: primitives.Version)
}
def wrap(impl: software.amazon.awssdk.services.lambda.model.InvokeResponse): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy