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

io.github.vigoo.zioaws.lambda.model.UpdateEventSourceMappingRequest.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 UpdateEventSourceMappingRequest(uuid: String, functionName: scala.Option[primitives.FunctionName] = None, enabled: scala.Option[primitives.Enabled] = None, batchSize: scala.Option[primitives.BatchSize] = None, maximumBatchingWindowInSeconds: scala.Option[primitives.MaximumBatchingWindowInSeconds] = None, destinationConfig: scala.Option[DestinationConfig] = None, maximumRecordAgeInSeconds: scala.Option[primitives.MaximumRecordAgeInSeconds] = None, bisectBatchOnFunctionError: scala.Option[primitives.BisectBatchOnFunctionError] = None, maximumRetryAttempts: scala.Option[primitives.MaximumRetryAttemptsEventSourceMapping] = None, parallelizationFactor: scala.Option[primitives.ParallelizationFactor] = None, sourceAccessConfigurations: scala.Option[Iterable[SourceAccessConfiguration]] = None, tumblingWindowInSeconds: scala.Option[primitives.TumblingWindowInSeconds] = None, functionResponseTypes: scala.Option[Iterable[FunctionResponseType]] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest = {
    import UpdateEventSourceMappingRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest.builder().uuid(uuid: java.lang.String).optionallyWith(functionName.map(value => value: java.lang.String))(_.functionName).optionallyWith(enabled.map(value => value: java.lang.Boolean))(_.enabled).optionallyWith(batchSize.map(value => value: java.lang.Integer))(_.batchSize).optionallyWith(maximumBatchingWindowInSeconds.map(value => value: java.lang.Integer))(_.maximumBatchingWindowInSeconds).optionallyWith(destinationConfig.map(value => value.buildAwsValue()))(_.destinationConfig).optionallyWith(maximumRecordAgeInSeconds.map(value => value: java.lang.Integer))(_.maximumRecordAgeInSeconds).optionallyWith(bisectBatchOnFunctionError.map(value => value: java.lang.Boolean))(_.bisectBatchOnFunctionError).optionallyWith(maximumRetryAttempts.map(value => value: java.lang.Integer))(_.maximumRetryAttempts).optionallyWith(parallelizationFactor.map(value => value: java.lang.Integer))(_.parallelizationFactor).optionallyWith(sourceAccessConfigurations.map(value => value.map { item => 
      item.buildAwsValue()
    }.asJavaCollection))(_.sourceAccessConfigurations).optionallyWith(tumblingWindowInSeconds.map(value => value: java.lang.Integer))(_.tumblingWindowInSeconds).optionallyWith(functionResponseTypes.map(value => value.map { item => 
      item.unwrap.toString
    }.asJavaCollection))(_.functionResponseTypesWithStrings).build()
  }
  def asReadOnly: UpdateEventSourceMappingRequest.ReadOnly = UpdateEventSourceMappingRequest.wrap(buildAwsValue())
}
object UpdateEventSourceMappingRequest {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: UpdateEventSourceMappingRequest = UpdateEventSourceMappingRequest(uuidValue, functionNameValue.map(value => value), enabledValue.map(value => value), batchSizeValue.map(value => value), maximumBatchingWindowInSecondsValue.map(value => value), destinationConfigValue.map(value => value.editable), maximumRecordAgeInSecondsValue.map(value => value), bisectBatchOnFunctionErrorValue.map(value => value), maximumRetryAttemptsValue.map(value => value), parallelizationFactorValue.map(value => value), sourceAccessConfigurationsValue.map(value => value.map { item => 
      item.editable
    }), tumblingWindowInSecondsValue.map(value => value), functionResponseTypesValue.map(value => value))
    def uuidValue: String
    def functionNameValue: scala.Option[primitives.FunctionName]
    def enabledValue: scala.Option[primitives.Enabled]
    def batchSizeValue: scala.Option[primitives.BatchSize]
    def maximumBatchingWindowInSecondsValue: scala.Option[primitives.MaximumBatchingWindowInSeconds]
    def destinationConfigValue: scala.Option[DestinationConfig.ReadOnly]
    def maximumRecordAgeInSecondsValue: scala.Option[primitives.MaximumRecordAgeInSeconds]
    def bisectBatchOnFunctionErrorValue: scala.Option[primitives.BisectBatchOnFunctionError]
    def maximumRetryAttemptsValue: scala.Option[primitives.MaximumRetryAttemptsEventSourceMapping]
    def parallelizationFactorValue: scala.Option[primitives.ParallelizationFactor]
    def sourceAccessConfigurationsValue: scala.Option[List[SourceAccessConfiguration.ReadOnly]]
    def tumblingWindowInSecondsValue: scala.Option[primitives.TumblingWindowInSeconds]
    def functionResponseTypesValue: scala.Option[List[FunctionResponseType]]
    def uuid: ZIO[Any, Nothing, String] = ZIO.succeed(uuidValue)
    def functionName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.FunctionName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("functionName", functionNameValue)
    def enabled: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Enabled] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("enabled", enabledValue)
    def batchSize: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.BatchSize] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("batchSize", batchSizeValue)
    def maximumBatchingWindowInSeconds: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MaximumBatchingWindowInSeconds] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("maximumBatchingWindowInSeconds", maximumBatchingWindowInSecondsValue)
    def destinationConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, DestinationConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("destinationConfig", destinationConfigValue)
    def maximumRecordAgeInSeconds: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MaximumRecordAgeInSeconds] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("maximumRecordAgeInSeconds", maximumRecordAgeInSecondsValue)
    def bisectBatchOnFunctionError: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.BisectBatchOnFunctionError] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("bisectBatchOnFunctionError", bisectBatchOnFunctionErrorValue)
    def maximumRetryAttempts: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MaximumRetryAttemptsEventSourceMapping] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("maximumRetryAttempts", maximumRetryAttemptsValue)
    def parallelizationFactor: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.ParallelizationFactor] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("parallelizationFactor", parallelizationFactorValue)
    def sourceAccessConfigurations: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[SourceAccessConfiguration.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sourceAccessConfigurations", sourceAccessConfigurationsValue)
    def tumblingWindowInSeconds: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.TumblingWindowInSeconds] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tumblingWindowInSeconds", tumblingWindowInSecondsValue)
    def functionResponseTypes: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[FunctionResponseType]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("functionResponseTypes", functionResponseTypesValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest) extends UpdateEventSourceMappingRequest.ReadOnly {
    override def uuidValue: String = impl.uuid(): String
    override def functionNameValue: scala.Option[primitives.FunctionName] = scala.Option(impl.functionName()).map(value => value: primitives.FunctionName)
    override def enabledValue: scala.Option[primitives.Enabled] = scala.Option(impl.enabled()).map(value => value: primitives.Enabled)
    override def batchSizeValue: scala.Option[primitives.BatchSize] = scala.Option(impl.batchSize()).map(value => value: primitives.BatchSize)
    override def maximumBatchingWindowInSecondsValue: scala.Option[primitives.MaximumBatchingWindowInSeconds] = scala.Option(impl.maximumBatchingWindowInSeconds()).map(value => value: primitives.MaximumBatchingWindowInSeconds)
    override def destinationConfigValue: scala.Option[DestinationConfig.ReadOnly] = scala.Option(impl.destinationConfig()).map(value => DestinationConfig.wrap(value))
    override def maximumRecordAgeInSecondsValue: scala.Option[primitives.MaximumRecordAgeInSeconds] = scala.Option(impl.maximumRecordAgeInSeconds()).map(value => value: primitives.MaximumRecordAgeInSeconds)
    override def bisectBatchOnFunctionErrorValue: scala.Option[primitives.BisectBatchOnFunctionError] = scala.Option(impl.bisectBatchOnFunctionError()).map(value => value: primitives.BisectBatchOnFunctionError)
    override def maximumRetryAttemptsValue: scala.Option[primitives.MaximumRetryAttemptsEventSourceMapping] = scala.Option(impl.maximumRetryAttempts()).map(value => value: primitives.MaximumRetryAttemptsEventSourceMapping)
    override def parallelizationFactorValue: scala.Option[primitives.ParallelizationFactor] = scala.Option(impl.parallelizationFactor()).map(value => value: primitives.ParallelizationFactor)
    override def sourceAccessConfigurationsValue: scala.Option[List[SourceAccessConfiguration.ReadOnly]] = scala.Option(impl.sourceAccessConfigurations()).map(value => value.asScala.map { item => 
      SourceAccessConfiguration.wrap(item)
    }.toList)
    override def tumblingWindowInSecondsValue: scala.Option[primitives.TumblingWindowInSeconds] = scala.Option(impl.tumblingWindowInSeconds()).map(value => value: primitives.TumblingWindowInSeconds)
    override def functionResponseTypesValue: scala.Option[List[FunctionResponseType]] = scala.Option(impl.functionResponseTypes()).map(value => value.asScala.map { item => 
      FunctionResponseType.wrap(item)
    }.toList)
  }
  def wrap(impl: software.amazon.awssdk.services.lambda.model.UpdateEventSourceMappingRequest): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy