
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