
io.github.vigoo.zioaws.lambda.model.CreateFunctionRequest.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 CreateFunctionRequest(functionName: primitives.FunctionName, runtime: scala.Option[Runtime] = None, role: primitives.RoleArn, handler: scala.Option[primitives.Handler] = None, code: FunctionCode, description: scala.Option[primitives.Description] = None, timeout: scala.Option[primitives.Timeout] = None, memorySize: scala.Option[primitives.MemorySize] = None, publish: scala.Option[Boolean] = None, vpcConfig: scala.Option[VpcConfig] = None, packageType: scala.Option[PackageType] = None, deadLetterConfig: scala.Option[DeadLetterConfig] = None, environment: scala.Option[Environment] = None, kmsKeyArn: scala.Option[primitives.KMSKeyArn] = None, tracingConfig: scala.Option[TracingConfig] = None, tags: scala.Option[Map[primitives.TagKey, primitives.TagValue]] = None, layers: scala.Option[Iterable[primitives.LayerVersionArn]] = None, fileSystemConfigs: scala.Option[Iterable[FileSystemConfig]] = None, imageConfig: scala.Option[ImageConfig] = None, codeSigningConfigArn: scala.Option[primitives.CodeSigningConfigArn] = None) {
def buildAwsValue(): software.amazon.awssdk.services.lambda.model.CreateFunctionRequest = {
import CreateFunctionRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.lambda.model.CreateFunctionRequest.builder().functionName(functionName: java.lang.String).optionallyWith(runtime.map(value => value.unwrap))(_.runtime).role(role: java.lang.String).optionallyWith(handler.map(value => value: java.lang.String))(_.handler).code(code.buildAwsValue()).optionallyWith(description.map(value => value: java.lang.String))(_.description).optionallyWith(timeout.map(value => value: java.lang.Integer))(_.timeout).optionallyWith(memorySize.map(value => value: java.lang.Integer))(_.memorySize).optionallyWith(publish.map(value => value: java.lang.Boolean))(_.publish).optionallyWith(vpcConfig.map(value => value.buildAwsValue()))(_.vpcConfig).optionallyWith(packageType.map(value => value.unwrap))(_.packageType).optionallyWith(deadLetterConfig.map(value => value.buildAwsValue()))(_.deadLetterConfig).optionallyWith(environment.map(value => value.buildAwsValue()))(_.environment).optionallyWith(kmsKeyArn.map(value => value: java.lang.String))(_.kmsKeyArn).optionallyWith(tracingConfig.map(value => value.buildAwsValue()))(_.tracingConfig).optionallyWith(tags.map(value => value.map({
case (key, value) =>
(key: java.lang.String) -> (value: java.lang.String)
}).asJava))(_.tags).optionallyWith(layers.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.layers).optionallyWith(fileSystemConfigs.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.fileSystemConfigs).optionallyWith(imageConfig.map(value => value.buildAwsValue()))(_.imageConfig).optionallyWith(codeSigningConfigArn.map(value => value: java.lang.String))(_.codeSigningConfigArn).build()
}
def asReadOnly: CreateFunctionRequest.ReadOnly = CreateFunctionRequest.wrap(buildAwsValue())
}
object CreateFunctionRequest {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.CreateFunctionRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: CreateFunctionRequest = CreateFunctionRequest(functionNameValue, runtimeValue.map(value => value), roleValue, handlerValue.map(value => value), codeValue.editable, descriptionValue.map(value => value), timeoutValue.map(value => value), memorySizeValue.map(value => value), publishValue.map(value => value), vpcConfigValue.map(value => value.editable), packageTypeValue.map(value => value), deadLetterConfigValue.map(value => value.editable), environmentValue.map(value => value.editable), kmsKeyArnValue.map(value => value), tracingConfigValue.map(value => value.editable), tagsValue.map(value => value), layersValue.map(value => value), fileSystemConfigsValue.map(value => value.map { item =>
item.editable
}), imageConfigValue.map(value => value.editable), codeSigningConfigArnValue.map(value => value))
def functionNameValue: primitives.FunctionName
def runtimeValue: scala.Option[Runtime]
def roleValue: primitives.RoleArn
def handlerValue: scala.Option[primitives.Handler]
def codeValue: FunctionCode.ReadOnly
def descriptionValue: scala.Option[primitives.Description]
def timeoutValue: scala.Option[primitives.Timeout]
def memorySizeValue: scala.Option[primitives.MemorySize]
def publishValue: scala.Option[Boolean]
def vpcConfigValue: scala.Option[VpcConfig.ReadOnly]
def packageTypeValue: scala.Option[PackageType]
def deadLetterConfigValue: scala.Option[DeadLetterConfig.ReadOnly]
def environmentValue: scala.Option[Environment.ReadOnly]
def kmsKeyArnValue: scala.Option[primitives.KMSKeyArn]
def tracingConfigValue: scala.Option[TracingConfig.ReadOnly]
def tagsValue: scala.Option[Map[primitives.TagKey, primitives.TagValue]]
def layersValue: scala.Option[List[primitives.LayerVersionArn]]
def fileSystemConfigsValue: scala.Option[List[FileSystemConfig.ReadOnly]]
def imageConfigValue: scala.Option[ImageConfig.ReadOnly]
def codeSigningConfigArnValue: scala.Option[primitives.CodeSigningConfigArn]
def functionName: ZIO[Any, Nothing, primitives.FunctionName] = ZIO.succeed(functionNameValue)
def runtime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Runtime] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("runtime", runtimeValue)
def role: ZIO[Any, Nothing, primitives.RoleArn] = ZIO.succeed(roleValue)
def handler: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Handler] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("handler", handlerValue)
def code: ZIO[Any, Nothing, FunctionCode.ReadOnly] = ZIO.succeed(codeValue)
def description: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Description] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("description", descriptionValue)
def timeout: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Timeout] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("timeout", timeoutValue)
def memorySize: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.MemorySize] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("memorySize", memorySizeValue)
def publish: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Boolean] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("publish", publishValue)
def vpcConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, VpcConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("vpcConfig", vpcConfigValue)
def packageType: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, PackageType] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("packageType", packageTypeValue)
def deadLetterConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, DeadLetterConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("deadLetterConfig", deadLetterConfigValue)
def environment: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Environment.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("environment", environmentValue)
def kmsKeyArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.KMSKeyArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("kmsKeyArn", kmsKeyArnValue)
def tracingConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, TracingConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tracingConfig", tracingConfigValue)
def tags: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Map[primitives.TagKey, primitives.TagValue]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tags", tagsValue)
def layers: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.LayerVersionArn]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("layers", layersValue)
def fileSystemConfigs: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[FileSystemConfig.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("fileSystemConfigs", fileSystemConfigsValue)
def imageConfig: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, ImageConfig.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("imageConfig", imageConfigValue)
def codeSigningConfigArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.CodeSigningConfigArn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("codeSigningConfigArn", codeSigningConfigArnValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.CreateFunctionRequest) extends CreateFunctionRequest.ReadOnly {
override def functionNameValue: primitives.FunctionName = impl.functionName(): primitives.FunctionName
override def runtimeValue: scala.Option[Runtime] = scala.Option(impl.runtime()).map(value => Runtime.wrap(value))
override def roleValue: primitives.RoleArn = impl.role(): primitives.RoleArn
override def handlerValue: scala.Option[primitives.Handler] = scala.Option(impl.handler()).map(value => value: primitives.Handler)
override def codeValue: FunctionCode.ReadOnly = FunctionCode.wrap(impl.code())
override def descriptionValue: scala.Option[primitives.Description] = scala.Option(impl.description()).map(value => value: primitives.Description)
override def timeoutValue: scala.Option[primitives.Timeout] = scala.Option(impl.timeout()).map(value => value: primitives.Timeout)
override def memorySizeValue: scala.Option[primitives.MemorySize] = scala.Option(impl.memorySize()).map(value => value: primitives.MemorySize)
override def publishValue: scala.Option[Boolean] = scala.Option(impl.publish()).map(value => value: Boolean)
override def vpcConfigValue: scala.Option[VpcConfig.ReadOnly] = scala.Option(impl.vpcConfig()).map(value => VpcConfig.wrap(value))
override def packageTypeValue: scala.Option[PackageType] = scala.Option(impl.packageType()).map(value => PackageType.wrap(value))
override def deadLetterConfigValue: scala.Option[DeadLetterConfig.ReadOnly] = scala.Option(impl.deadLetterConfig()).map(value => DeadLetterConfig.wrap(value))
override def environmentValue: scala.Option[Environment.ReadOnly] = scala.Option(impl.environment()).map(value => Environment.wrap(value))
override def kmsKeyArnValue: scala.Option[primitives.KMSKeyArn] = scala.Option(impl.kmsKeyArn()).map(value => value: primitives.KMSKeyArn)
override def tracingConfigValue: scala.Option[TracingConfig.ReadOnly] = scala.Option(impl.tracingConfig()).map(value => TracingConfig.wrap(value))
override def tagsValue: scala.Option[Map[primitives.TagKey, primitives.TagValue]] = scala.Option(impl.tags()).map(value => value.asScala.map({
case (key, value) =>
(key: primitives.TagKey) -> (value: primitives.TagValue)
}).toMap)
override def layersValue: scala.Option[List[primitives.LayerVersionArn]] = scala.Option(impl.layers()).map(value => value.asScala.map { item =>
item: primitives.LayerVersionArn
}.toList)
override def fileSystemConfigsValue: scala.Option[List[FileSystemConfig.ReadOnly]] = scala.Option(impl.fileSystemConfigs()).map(value => value.asScala.map { item =>
FileSystemConfig.wrap(item)
}.toList)
override def imageConfigValue: scala.Option[ImageConfig.ReadOnly] = scala.Option(impl.imageConfig()).map(value => ImageConfig.wrap(value))
override def codeSigningConfigArnValue: scala.Option[primitives.CodeSigningConfigArn] = scala.Option(impl.codeSigningConfigArn()).map(value => value: primitives.CodeSigningConfigArn)
}
def wrap(impl: software.amazon.awssdk.services.lambda.model.CreateFunctionRequest): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy