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

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