
io.github.vigoo.zioaws.lambda.model.DestinationConfig.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 DestinationConfig(onSuccess: scala.Option[OnSuccess] = None, onFailure: scala.Option[OnFailure] = None) {
def buildAwsValue(): software.amazon.awssdk.services.lambda.model.DestinationConfig = {
import DestinationConfig.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.lambda.model.DestinationConfig.builder().optionallyWith(onSuccess.map(value => value.buildAwsValue()))(_.onSuccess).optionallyWith(onFailure.map(value => value.buildAwsValue()))(_.onFailure).build()
}
def asReadOnly: DestinationConfig.ReadOnly = DestinationConfig.wrap(buildAwsValue())
}
object DestinationConfig {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.DestinationConfig] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: DestinationConfig = DestinationConfig(onSuccessValue.map(value => value.editable), onFailureValue.map(value => value.editable))
def onSuccessValue: scala.Option[OnSuccess.ReadOnly]
def onFailureValue: scala.Option[OnFailure.ReadOnly]
def onSuccess: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, OnSuccess.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("onSuccess", onSuccessValue)
def onFailure: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, OnFailure.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("onFailure", onFailureValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.DestinationConfig) extends DestinationConfig.ReadOnly {
override def onSuccessValue: scala.Option[OnSuccess.ReadOnly] = scala.Option(impl.onSuccess()).map(value => OnSuccess.wrap(value))
override def onFailureValue: scala.Option[OnFailure.ReadOnly] = scala.Option(impl.onFailure()).map(value => OnFailure.wrap(value))
}
def wrap(impl: software.amazon.awssdk.services.lambda.model.DestinationConfig): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy