zio.aws.cloudwatchevents.model.InputTransformer.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-cloudwatchevents_3 Show documentation
Show all versions of zio-aws-cloudwatchevents_3 Show documentation
Low-level AWS wrapper for ZIO
The newest version!
package zio.aws.cloudwatchevents.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.cloudwatchevents.model.primitives.{
TransformerInput,
TargetInputPath,
InputTransformerPathKey
}
import scala.jdk.CollectionConverters.*
final case class InputTransformer(
inputPathsMap: Optional[Map[InputTransformerPathKey, TargetInputPath]] =
Optional.Absent,
inputTemplate: TransformerInput
) {
def buildAwsValue()
: software.amazon.awssdk.services.cloudwatchevents.model.InputTransformer = {
import InputTransformer.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.cloudwatchevents.model.InputTransformer
.builder()
.optionallyWith(
inputPathsMap.map(value =>
value
.map({ case (key, value) =>
(InputTransformerPathKey
.unwrap(key): java.lang.String) -> (TargetInputPath
.unwrap(value): java.lang.String)
})
.asJava
)
)(_.inputPathsMap)
.inputTemplate(TransformerInput.unwrap(inputTemplate): java.lang.String)
.build()
}
def asReadOnly: zio.aws.cloudwatchevents.model.InputTransformer.ReadOnly =
zio.aws.cloudwatchevents.model.InputTransformer.wrap(buildAwsValue())
}
object InputTransformer {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.cloudwatchevents.model.InputTransformer
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.cloudwatchevents.model.InputTransformer =
zio.aws.cloudwatchevents.model
.InputTransformer(inputPathsMap.map(value => value), inputTemplate)
def inputPathsMap: Optional[Map[InputTransformerPathKey, TargetInputPath]]
def inputTemplate: TransformerInput
def getInputPathsMap
: ZIO[Any, AwsError, Map[InputTransformerPathKey, TargetInputPath]] =
AwsError.unwrapOptionField("inputPathsMap", inputPathsMap)
def getInputTemplate: ZIO[Any, Nothing, TransformerInput] =
ZIO.succeed(inputTemplate)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.cloudwatchevents.model.InputTransformer
) extends zio.aws.cloudwatchevents.model.InputTransformer.ReadOnly {
override val inputPathsMap
: Optional[Map[InputTransformerPathKey, TargetInputPath]] =
zio.aws.core.internal
.optionalFromNullable(impl.inputPathsMap())
.map(value =>
value.asScala
.map({ case (key, value) =>
zio.aws.cloudwatchevents.model.primitives.InputTransformerPathKey(
key
) -> zio.aws.cloudwatchevents.model.primitives
.TargetInputPath(value)
})
.toMap
)
override val inputTemplate: TransformerInput =
zio.aws.cloudwatchevents.model.primitives
.TransformerInput(impl.inputTemplate())
}
def wrap(
impl: software.amazon.awssdk.services.cloudwatchevents.model.InputTransformer
): zio.aws.cloudwatchevents.model.InputTransformer.ReadOnly = new Wrapper(
impl
)
}