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

com.pulumi.awsnative.lambda.kotlin.LayerVersionArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.lambda.kotlin

import com.pulumi.awsnative.lambda.LayerVersionArgs.builder
import com.pulumi.awsnative.lambda.kotlin.inputs.LayerVersionContentArgs
import com.pulumi.awsnative.lambda.kotlin.inputs.LayerVersionContentArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::Lambda::LayerVersion
 * @property compatibleArchitectures A list of compatible instruction set architectures.
 * @property compatibleRuntimes A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
 * @property content The function layer archive.
 * @property description The description of the version.
 * @property layerName The name or Amazon Resource Name (ARN) of the layer.
 * @property licenseInfo The layer's software license.
 */
public data class LayerVersionArgs(
    public val compatibleArchitectures: Output>? = null,
    public val compatibleRuntimes: Output>? = null,
    public val content: Output? = null,
    public val description: Output? = null,
    public val layerName: Output? = null,
    public val licenseInfo: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lambda.LayerVersionArgs =
        com.pulumi.awsnative.lambda.LayerVersionArgs.builder()
            .compatibleArchitectures(
                compatibleArchitectures?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .compatibleRuntimes(compatibleRuntimes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .content(content?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .layerName(layerName?.applyValue({ args0 -> args0 }))
            .licenseInfo(licenseInfo?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [LayerVersionArgs].
 */
@PulumiTagMarker
public class LayerVersionArgsBuilder internal constructor() {
    private var compatibleArchitectures: Output>? = null

    private var compatibleRuntimes: Output>? = null

    private var content: Output? = null

    private var description: Output? = null

    private var layerName: Output? = null

    private var licenseInfo: Output? = null

    /**
     * @param value A list of compatible instruction set architectures.
     */
    @JvmName("bxpsyaohdevbwacc")
    public suspend fun compatibleArchitectures(`value`: Output>) {
        this.compatibleArchitectures = value
    }

    @JvmName("xqrxjitufhcrajsh")
    public suspend fun compatibleArchitectures(vararg values: Output) {
        this.compatibleArchitectures = Output.all(values.asList())
    }

    /**
     * @param values A list of compatible instruction set architectures.
     */
    @JvmName("pbocdaixkfpgsmyu")
    public suspend fun compatibleArchitectures(values: List>) {
        this.compatibleArchitectures = Output.all(values)
    }

    /**
     * @param value A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
     */
    @JvmName("kmyjhetxoekukqqj")
    public suspend fun compatibleRuntimes(`value`: Output>) {
        this.compatibleRuntimes = value
    }

    @JvmName("wmlhetiqlknmnapx")
    public suspend fun compatibleRuntimes(vararg values: Output) {
        this.compatibleRuntimes = Output.all(values.asList())
    }

    /**
     * @param values A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
     */
    @JvmName("vwtmyhknqcpjsgqd")
    public suspend fun compatibleRuntimes(values: List>) {
        this.compatibleRuntimes = Output.all(values)
    }

    /**
     * @param value The function layer archive.
     */
    @JvmName("eksiycovvpwvhurk")
    public suspend fun content(`value`: Output) {
        this.content = value
    }

    /**
     * @param value The description of the version.
     */
    @JvmName("hibrgomaujkbaxhq")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The name or Amazon Resource Name (ARN) of the layer.
     */
    @JvmName("obrvvjugotbkqdwl")
    public suspend fun layerName(`value`: Output) {
        this.layerName = value
    }

    /**
     * @param value The layer's software license.
     */
    @JvmName("ntnyobknvwqqsygp")
    public suspend fun licenseInfo(`value`: Output) {
        this.licenseInfo = value
    }

    /**
     * @param value A list of compatible instruction set architectures.
     */
    @JvmName("pteadepfpjequryb")
    public suspend fun compatibleArchitectures(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.compatibleArchitectures = mapped
    }

    /**
     * @param values A list of compatible instruction set architectures.
     */
    @JvmName("yvohqdmerkaylajt")
    public suspend fun compatibleArchitectures(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.compatibleArchitectures = mapped
    }

    /**
     * @param value A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
     */
    @JvmName("xectkpcduxhggpfq")
    public suspend fun compatibleRuntimes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.compatibleRuntimes = mapped
    }

    /**
     * @param values A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
     */
    @JvmName("dxxiwpjvlbtfccqp")
    public suspend fun compatibleRuntimes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.compatibleRuntimes = mapped
    }

    /**
     * @param value The function layer archive.
     */
    @JvmName("ihuubafnsublqbvy")
    public suspend fun content(`value`: LayerVersionContentArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.content = mapped
    }

    /**
     * @param argument The function layer archive.
     */
    @JvmName("ceupaonmwyrpbmaq")
    public suspend fun content(argument: suspend LayerVersionContentArgsBuilder.() -> Unit) {
        val toBeMapped = LayerVersionContentArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.content = mapped
    }

    /**
     * @param value The description of the version.
     */
    @JvmName("snucguoklmquvcjw")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The name or Amazon Resource Name (ARN) of the layer.
     */
    @JvmName("rdeioycbjhklujqe")
    public suspend fun layerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.layerName = mapped
    }

    /**
     * @param value The layer's software license.
     */
    @JvmName("mbamlruvkvugqxth")
    public suspend fun licenseInfo(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.licenseInfo = mapped
    }

    internal fun build(): LayerVersionArgs = LayerVersionArgs(
        compatibleArchitectures = compatibleArchitectures,
        compatibleRuntimes = compatibleRuntimes,
        content = content,
        description = description,
        layerName = layerName,
        licenseInfo = licenseInfo,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy