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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy