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

io.github.vigoo.zioaws.lambda.model.PutFunctionEventInvokeConfigResponse.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 PutFunctionEventInvokeConfigResponse(lastModified: scala.Option[primitives.Date] = None, functionArn: scala.Option[primitives.FunctionArn] = 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.PutFunctionEventInvokeConfigResponse = {
    import PutFunctionEventInvokeConfigResponse.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigResponse.builder().optionallyWith(lastModified.map(value => value: java.time.Instant))(_.lastModified).optionallyWith(functionArn.map(value => value: java.lang.String))(_.functionArn).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: PutFunctionEventInvokeConfigResponse.ReadOnly = PutFunctionEventInvokeConfigResponse.wrap(buildAwsValue())
}
object PutFunctionEventInvokeConfigResponse {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.PutFunctionEventInvokeConfigResponse] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: PutFunctionEventInvokeConfigResponse = PutFunctionEventInvokeConfigResponse(lastModifiedValue.map(value => value), functionArnValue.map(value => value), maximumRetryAttemptsValue.map(value => value), maximumEventAgeInSecondsValue.map(value => value), destinationConfigValue.map(value => value.editable))
    def lastModifiedValue: scala.Option[primitives.Date]
    def functionArnValue: scala.Option[primitives.FunctionArn]
    def maximumRetryAttemptsValue: scala.Option[primitives.MaximumRetryAttempts]
    def maximumEventAgeInSecondsValue: scala.Option[primitives.MaximumEventAgeInSeconds]
    def destinationConfigValue: scala.Option[DestinationConfig.ReadOnly]
    def lastModified: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Date] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("lastModified", lastModifiedValue)
    def functionArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.FunctionArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("functionArn", functionArnValue)
    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.PutFunctionEventInvokeConfigResponse) extends PutFunctionEventInvokeConfigResponse.ReadOnly {
    override def lastModifiedValue: scala.Option[primitives.Date] = scala.Option(impl.lastModified()).map(value => value: primitives.Date)
    override def functionArnValue: scala.Option[primitives.FunctionArn] = scala.Option(impl.functionArn()).map(value => value: primitives.FunctionArn)
    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.PutFunctionEventInvokeConfigResponse): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy