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

com.pulumi.awsnative.licensemanager.kotlin.LicenseArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.licensemanager.kotlin

import com.pulumi.awsnative.licensemanager.LicenseArgs.builder
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseConsumptionConfigurationArgs
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseConsumptionConfigurationArgsBuilder
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseEntitlementArgs
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseEntitlementArgsBuilder
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseIssuerDataArgs
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseIssuerDataArgsBuilder
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseMetadataArgs
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseMetadataArgsBuilder
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseValidityDateFormatArgs
import com.pulumi.awsnative.licensemanager.kotlin.inputs.LicenseValidityDateFormatArgsBuilder
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::LicenseManager::License
 * @property beneficiary Beneficiary of the license.
 * @property consumptionConfiguration Configuration for consumption of the license.
 * @property entitlements License entitlements.
 * @property homeRegion Home region for the created license.
 * @property issuer License issuer.
 * @property licenseMetadata License metadata.
 * @property licenseName Name for the created license.
 * @property productName Product name for the created license.
 * @property productSku ProductSKU of the license.
 * @property status License status.
 * @property validity Date and time range during which the license is valid, in ISO8601-UTC format.
 */
public data class LicenseArgs(
    public val beneficiary: Output? = null,
    public val consumptionConfiguration: Output? = null,
    public val entitlements: Output>? = null,
    public val homeRegion: Output? = null,
    public val issuer: Output? = null,
    public val licenseMetadata: Output>? = null,
    public val licenseName: Output? = null,
    public val productName: Output? = null,
    public val productSku: Output? = null,
    public val status: Output? = null,
    public val validity: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.licensemanager.LicenseArgs =
        com.pulumi.awsnative.licensemanager.LicenseArgs.builder()
            .beneficiary(beneficiary?.applyValue({ args0 -> args0 }))
            .consumptionConfiguration(
                consumptionConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .entitlements(
                entitlements?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .homeRegion(homeRegion?.applyValue({ args0 -> args0 }))
            .issuer(issuer?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .licenseMetadata(
                licenseMetadata?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .licenseName(licenseName?.applyValue({ args0 -> args0 }))
            .productName(productName?.applyValue({ args0 -> args0 }))
            .productSku(productSku?.applyValue({ args0 -> args0 }))
            .status(status?.applyValue({ args0 -> args0 }))
            .validity(validity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [LicenseArgs].
 */
@PulumiTagMarker
public class LicenseArgsBuilder internal constructor() {
    private var beneficiary: Output? = null

    private var consumptionConfiguration: Output? = null

    private var entitlements: Output>? = null

    private var homeRegion: Output? = null

    private var issuer: Output? = null

    private var licenseMetadata: Output>? = null

    private var licenseName: Output? = null

    private var productName: Output? = null

    private var productSku: Output? = null

    private var status: Output? = null

    private var validity: Output? = null

    /**
     * @param value Beneficiary of the license.
     */
    @JvmName("heurwxccdivnrdbu")
    public suspend fun beneficiary(`value`: Output) {
        this.beneficiary = value
    }

    /**
     * @param value Configuration for consumption of the license.
     */
    @JvmName("hhcpduldlvdaultx")
    public suspend fun consumptionConfiguration(`value`: Output) {
        this.consumptionConfiguration = value
    }

    /**
     * @param value License entitlements.
     */
    @JvmName("qsgdftivaugeqvhs")
    public suspend fun entitlements(`value`: Output>) {
        this.entitlements = value
    }

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

    /**
     * @param values License entitlements.
     */
    @JvmName("cdwkyjhhqncxiwxn")
    public suspend fun entitlements(values: List>) {
        this.entitlements = Output.all(values)
    }

    /**
     * @param value Home region for the created license.
     */
    @JvmName("klkobfgqcwurreoa")
    public suspend fun homeRegion(`value`: Output) {
        this.homeRegion = value
    }

    /**
     * @param value License issuer.
     */
    @JvmName("qfkepccptotqorex")
    public suspend fun issuer(`value`: Output) {
        this.issuer = value
    }

    /**
     * @param value License metadata.
     */
    @JvmName("mxmspoohyqlakmkh")
    public suspend fun licenseMetadata(`value`: Output>) {
        this.licenseMetadata = value
    }

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

    /**
     * @param values License metadata.
     */
    @JvmName("dxqtppfdiolorodq")
    public suspend fun licenseMetadata(values: List>) {
        this.licenseMetadata = Output.all(values)
    }

    /**
     * @param value Name for the created license.
     */
    @JvmName("bwakmuchekfuncid")
    public suspend fun licenseName(`value`: Output) {
        this.licenseName = value
    }

    /**
     * @param value Product name for the created license.
     */
    @JvmName("vinmacxywttckand")
    public suspend fun productName(`value`: Output) {
        this.productName = value
    }

    /**
     * @param value ProductSKU of the license.
     */
    @JvmName("rfsclmkjlwdgyluq")
    public suspend fun productSku(`value`: Output) {
        this.productSku = value
    }

    /**
     * @param value License status.
     */
    @JvmName("cnqsfiidbbrurlfs")
    public suspend fun status(`value`: Output) {
        this.status = value
    }

    /**
     * @param value Date and time range during which the license is valid, in ISO8601-UTC format.
     */
    @JvmName("ginaaexrpqtydxcy")
    public suspend fun validity(`value`: Output) {
        this.validity = value
    }

    /**
     * @param value Beneficiary of the license.
     */
    @JvmName("rlvfnofaqjupakyq")
    public suspend fun beneficiary(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.beneficiary = mapped
    }

    /**
     * @param value Configuration for consumption of the license.
     */
    @JvmName("kwudkeqajvvpwomq")
    public suspend fun consumptionConfiguration(`value`: LicenseConsumptionConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.consumptionConfiguration = mapped
    }

    /**
     * @param argument Configuration for consumption of the license.
     */
    @JvmName("rhhyhwotqrhdwvct")
    public suspend fun consumptionConfiguration(argument: suspend LicenseConsumptionConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = LicenseConsumptionConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.consumptionConfiguration = mapped
    }

    /**
     * @param value License entitlements.
     */
    @JvmName("lxkqefkfyhxmefwt")
    public suspend fun entitlements(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entitlements = mapped
    }

    /**
     * @param argument License entitlements.
     */
    @JvmName("fexeyvhcveahisrs")
    public suspend fun entitlements(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LicenseEntitlementArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.entitlements = mapped
    }

    /**
     * @param argument License entitlements.
     */
    @JvmName("vnhvfsgoxilsuhpg")
    public suspend fun entitlements(vararg argument: suspend LicenseEntitlementArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LicenseEntitlementArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.entitlements = mapped
    }

    /**
     * @param argument License entitlements.
     */
    @JvmName("ahorxmthcugopimt")
    public suspend fun entitlements(argument: suspend LicenseEntitlementArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(LicenseEntitlementArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.entitlements = mapped
    }

    /**
     * @param values License entitlements.
     */
    @JvmName("xxnodxurvejmvsek")
    public suspend fun entitlements(vararg values: LicenseEntitlementArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.entitlements = mapped
    }

    /**
     * @param value Home region for the created license.
     */
    @JvmName("ejhirvcqsgnevbbu")
    public suspend fun homeRegion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.homeRegion = mapped
    }

    /**
     * @param value License issuer.
     */
    @JvmName("mavovsdjdqdltajw")
    public suspend fun issuer(`value`: LicenseIssuerDataArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.issuer = mapped
    }

    /**
     * @param argument License issuer.
     */
    @JvmName("jlhegcfxfmmmcrvu")
    public suspend fun issuer(argument: suspend LicenseIssuerDataArgsBuilder.() -> Unit) {
        val toBeMapped = LicenseIssuerDataArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.issuer = mapped
    }

    /**
     * @param value License metadata.
     */
    @JvmName("wlhpyitvycrcialp")
    public suspend fun licenseMetadata(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.licenseMetadata = mapped
    }

    /**
     * @param argument License metadata.
     */
    @JvmName("rvvvcscemxloxkij")
    public suspend fun licenseMetadata(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            LicenseMetadataArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.licenseMetadata = mapped
    }

    /**
     * @param argument License metadata.
     */
    @JvmName("raamxprryqxncyyl")
    public suspend fun licenseMetadata(vararg argument: suspend LicenseMetadataArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            LicenseMetadataArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.licenseMetadata = mapped
    }

    /**
     * @param argument License metadata.
     */
    @JvmName("oseojivmbddwirjs")
    public suspend fun licenseMetadata(argument: suspend LicenseMetadataArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(LicenseMetadataArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.licenseMetadata = mapped
    }

    /**
     * @param values License metadata.
     */
    @JvmName("pbodrknnwtkmwmro")
    public suspend fun licenseMetadata(vararg values: LicenseMetadataArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.licenseMetadata = mapped
    }

    /**
     * @param value Name for the created license.
     */
    @JvmName("tkgmcwmqncqnvbgx")
    public suspend fun licenseName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.licenseName = mapped
    }

    /**
     * @param value Product name for the created license.
     */
    @JvmName("kybnlwjkcrgbdlqj")
    public suspend fun productName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.productName = mapped
    }

    /**
     * @param value ProductSKU of the license.
     */
    @JvmName("xdlycbdqgwdduutm")
    public suspend fun productSku(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.productSku = mapped
    }

    /**
     * @param value License status.
     */
    @JvmName("vhcfjejrnwdjdhol")
    public suspend fun status(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Date and time range during which the license is valid, in ISO8601-UTC format.
     */
    @JvmName("jgiqrugrphopydko")
    public suspend fun validity(`value`: LicenseValidityDateFormatArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.validity = mapped
    }

    /**
     * @param argument Date and time range during which the license is valid, in ISO8601-UTC format.
     */
    @JvmName("aehsbnmneivdcftm")
    public suspend fun validity(argument: suspend LicenseValidityDateFormatArgsBuilder.() -> Unit) {
        val toBeMapped = LicenseValidityDateFormatArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.validity = mapped
    }

    internal fun build(): LicenseArgs = LicenseArgs(
        beneficiary = beneficiary,
        consumptionConfiguration = consumptionConfiguration,
        entitlements = entitlements,
        homeRegion = homeRegion,
        issuer = issuer,
        licenseMetadata = licenseMetadata,
        licenseName = licenseName,
        productName = productName,
        productSku = productSku,
        status = status,
        validity = validity,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy