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

io.github.vigoo.zioaws.lambda.model.PutFunctionEventInvokeConfigRequest.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 PutFunctionEventInvokeConfigRequest(functionName: primitives.FunctionName, qualifier: scala.Option[primitives.Qualifier] = None, maximumRetryAttempts: scala.Option[primitives.MaximumRetryAttempts] = None, maximumEventAgeInSeconds: scala.Option[primitives.MaximumEventAgeInSeconds] = None, destinationConfig: scala.Option[DestinationConfig] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest = {
    import PutFunctionEventInvokeConfigRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest.builder().functionName(functionName: java.lang.String).optionallyWith(qualifier.map(value => value: java.lang.String))(_.qualifier).optionallyWith(maximumRetryAttempts.map(value => value: java.lang.Integer))(_.maximumRetryAttempts).optionallyWith(maximumEventAgeInSeconds.map(value => value: java.lang.Integer))(_.maximumEventAgeInSeconds).optionallyWith(destinationConfig.map(value => value.buildAwsValue()))(_.destinationConfig).build()
  }
  def asReadOnly: PutFunctionEventInvokeConfigRequest.ReadOnly = PutFunctionEventInvokeConfigRequest.wrap(buildAwsValue())
}
object PutFunctionEventInvokeConfigRequest {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: PutFunctionEventInvokeConfigRequest = PutFunctionEventInvokeConfigRequest(functionNameValue, qualifierValue.map(value => value), maximumRetryAttemptsValue.map(value => value), maximumEventAgeInSecondsValue.map(value => value), destinationConfigValue.map(value => value.editable))
    def functionNameValue: primitives.FunctionName
    def qualifierValue: scala.Option[primitives.Qualifier]
    def maximumRetryAttemptsValue: scala.Option[primitives.MaximumRetryAttempts]
    def maximumEventAgeInSecondsValue: scala.Option[primitives.MaximumEventAgeInSeconds]
    def destinationConfigValue: scala.Option[DestinationConfig.ReadOnly]
    def functionName: ZIO[Any, Nothing, primitives.FunctionName] = ZIO.succeed(functionNameValue)
    def qualifier: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Qualifier] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("qualifier", qualifierValue)
    def maximumRetryAttempts: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MaximumRetryAttempts] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("maximumRetryAttempts", maximumRetryAttemptsValue)
    def maximumEventAgeInSeconds: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MaximumEventAgeInSeconds] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("maximumEventAgeInSeconds", maximumEventAgeInSecondsValue)
    def destinationConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, DestinationConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("destinationConfig", destinationConfigValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest) extends PutFunctionEventInvokeConfigRequest.ReadOnly {
    override def functionNameValue: primitives.FunctionName = impl.functionName(): primitives.FunctionName
    override def qualifierValue: scala.Option[primitives.Qualifier] = scala.Option(impl.qualifier()).map(value => value: primitives.Qualifier)
    override def maximumRetryAttemptsValue: scala.Option[primitives.MaximumRetryAttempts] = scala.Option(impl.maximumRetryAttempts()).map(value => value: primitives.MaximumRetryAttempts)
    override def maximumEventAgeInSecondsValue: scala.Option[primitives.MaximumEventAgeInSeconds] = scala.Option(impl.maximumEventAgeInSeconds()).map(value => value: primitives.MaximumEventAgeInSeconds)
    override def destinationConfigValue: scala.Option[DestinationConfig.ReadOnly] = scala.Option(impl.destinationConfig()).map(value => DestinationConfig.wrap(value))
  }
  def wrap(impl: software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigRequest): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy