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

com.pulumi.kubernetes.helm.v3.kotlin.ReleaseArgs.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: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.helm.v3.kotlin

import com.pulumi.asset.AssetOrArchive
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 com.pulumi.kubernetes.helm.v3.ReleaseArgs.builder
import com.pulumi.kubernetes.helm.v3.kotlin.inputs.RepositoryOptsArgs
import com.pulumi.kubernetes.helm.v3.kotlin.inputs.RepositoryOptsArgsBuilder
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * A `Release` is an instance of a chart running in a Kubernetes cluster. A `Chart` is a Helm package. It contains all the
 * resource definitions necessary to run an application, tool, or service inside a Kubernetes cluster.
 * This resource models a Helm Release as if it were created by the Helm CLI. The underlying implementation embeds Helm as
 * a library to perform the orchestration of the resources. As a result, the full spectrum of Helm features are supported
 * natively.
 * You may also want to consider the `Chart` resource as an alternative method for managing helm charts. For more information about the trade-offs between these options see: [Choosing the right Helm resource for your use case](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/choosing-the-right-helm-resource-for-your-use-case)
 * ## Example Usage
 * ### Local Chart Directory
 * No Java example available.
 * ### Remote Chart
 * No Java example available.
 * ### Set Chart Values
 * No Java example available.
 * ### Deploy Chart into Namespace
 * No Java example available.
 * ### Depend on a Chart resource
 * No Java example available.
 * ### Specify Helm Chart Values in File and Code
 * No Java example available.
 * ### Query Kubernetes Resource Installed By Helm Chart
 * No Java example available.
 * ## Import
 * An existing Helm Release resource can be imported using its `type token`, `name` and identifier, e.g.
 * ```sh
 * $ pulumi import kubernetes:helm.sh/v3:Release myRelease /
 * ```
 * @property allowNullValues Whether to allow Null values in helm chart configs.
 * @property atomic If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used.
 * @property chart Chart name to be installed. A path may be used.
 * @property cleanupOnFail Allow deletion of new resources created in this upgrade when upgrade fails.
 * @property compat
 * @property createNamespace Create the namespace if it does not exist.
 * @property dependencyUpdate Run helm dependency update before installing the chart.
 * @property description Add a custom description
 * @property devel Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored.
 * @property disableCRDHooks Prevent CRD hooks from running, but run other hooks.  See helm install --no-crd-hook
 * @property disableOpenapiValidation If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
 * @property disableWebhooks Prevent hooks from running.
 * @property forceUpdate Force resource update through delete/recreate if needed.
 * @property keyring Location of public keys used for verification. Used only if `verify` is true
 * @property lint Run helm lint when planning.
 * @property manifest The rendered manifests as JSON. Not yet supported.
 * @property maxHistory Limit the maximum number of revisions saved per release. Use 0 for no limit.
 * @property name Release name.
 * @property namespace Namespace to install the release into.
 * @property postrender Postrender command to run.
 * @property recreatePods Perform pods restart during upgrade/rollback.
 * @property renderSubchartNotes If set, render subchart notes along with the parent.
 * @property replace Re-use the given name, even if that name is already used. This is unsafe in production
 * @property repositoryOpts Specification defining the Helm chart repository to use.
 * @property resetValues When upgrading, reset the values to the ones built into the chart.
 * @property resourceNames Names of resources created by the release grouped by "kind/version".
 * @property reuseValues When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
 * @property skipAwait By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
 * @property skipCrds If set, no CRDs will be installed. By default, CRDs are installed if not already present.
 * @property timeout Time in seconds to wait for any individual kubernetes operation.
 * @property valueYamlFiles List of assets (raw yaml files). Content is read and merged with values.
 * @property values Custom values set for the release.
 * @property verify Verify the package before installing it.
 * @property version Specify the exact chart version to install. If this is not specified, the latest version is installed.
 * @property waitForJobs Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled.
 */
public data class ReleaseArgs(
    public val allowNullValues: Output? = null,
    public val atomic: Output? = null,
    public val chart: Output? = null,
    public val cleanupOnFail: Output? = null,
    public val compat: Output? = null,
    public val createNamespace: Output? = null,
    public val dependencyUpdate: Output? = null,
    public val description: Output? = null,
    public val devel: Output? = null,
    public val disableCRDHooks: Output? = null,
    public val disableOpenapiValidation: Output? = null,
    public val disableWebhooks: Output? = null,
    public val forceUpdate: Output? = null,
    public val keyring: Output? = null,
    public val lint: Output? = null,
    public val manifest: Output>? = null,
    public val maxHistory: Output? = null,
    public val name: Output? = null,
    public val namespace: Output? = null,
    public val postrender: Output? = null,
    public val recreatePods: Output? = null,
    public val renderSubchartNotes: Output? = null,
    public val replace: Output? = null,
    public val repositoryOpts: Output? = null,
    public val resetValues: Output? = null,
    public val resourceNames: Output>>? = null,
    public val reuseValues: Output? = null,
    public val skipAwait: Output? = null,
    public val skipCrds: Output? = null,
    public val timeout: Output? = null,
    public val valueYamlFiles: Output>? = null,
    public val values: Output>? = null,
    public val verify: Output? = null,
    public val version: Output? = null,
    public val waitForJobs: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.kubernetes.helm.v3.ReleaseArgs =
        com.pulumi.kubernetes.helm.v3.ReleaseArgs.builder()
            .allowNullValues(allowNullValues?.applyValue({ args0 -> args0 }))
            .atomic(atomic?.applyValue({ args0 -> args0 }))
            .chart(chart?.applyValue({ args0 -> args0 }))
            .cleanupOnFail(cleanupOnFail?.applyValue({ args0 -> args0 }))
            .compat(compat?.applyValue({ args0 -> args0 }))
            .createNamespace(createNamespace?.applyValue({ args0 -> args0 }))
            .dependencyUpdate(dependencyUpdate?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .devel(devel?.applyValue({ args0 -> args0 }))
            .disableCRDHooks(disableCRDHooks?.applyValue({ args0 -> args0 }))
            .disableOpenapiValidation(disableOpenapiValidation?.applyValue({ args0 -> args0 }))
            .disableWebhooks(disableWebhooks?.applyValue({ args0 -> args0 }))
            .forceUpdate(forceUpdate?.applyValue({ args0 -> args0 }))
            .keyring(keyring?.applyValue({ args0 -> args0 }))
            .lint(lint?.applyValue({ args0 -> args0 }))
            .manifest(
                manifest?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .maxHistory(maxHistory?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .namespace(namespace?.applyValue({ args0 -> args0 }))
            .postrender(postrender?.applyValue({ args0 -> args0 }))
            .recreatePods(recreatePods?.applyValue({ args0 -> args0 }))
            .renderSubchartNotes(renderSubchartNotes?.applyValue({ args0 -> args0 }))
            .replace(replace?.applyValue({ args0 -> args0 }))
            .repositoryOpts(repositoryOpts?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .resetValues(resetValues?.applyValue({ args0 -> args0 }))
            .resourceNames(
                resourceNames?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value.map({ args0 -> args0 }))
                    }).toMap()
                }),
            )
            .reuseValues(reuseValues?.applyValue({ args0 -> args0 }))
            .skipAwait(skipAwait?.applyValue({ args0 -> args0 }))
            .skipCrds(skipCrds?.applyValue({ args0 -> args0 }))
            .timeout(timeout?.applyValue({ args0 -> args0 }))
            .valueYamlFiles(valueYamlFiles?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .values(values?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
            .verify(verify?.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 }))
            .waitForJobs(waitForJobs?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ReleaseArgs].
 */
@PulumiTagMarker
public class ReleaseArgsBuilder internal constructor() {
    private var allowNullValues: Output? = null

    private var atomic: Output? = null

    private var chart: Output? = null

    private var cleanupOnFail: Output? = null

    private var compat: Output? = null

    private var createNamespace: Output? = null

    private var dependencyUpdate: Output? = null

    private var description: Output? = null

    private var devel: Output? = null

    private var disableCRDHooks: Output? = null

    private var disableOpenapiValidation: Output? = null

    private var disableWebhooks: Output? = null

    private var forceUpdate: Output? = null

    private var keyring: Output? = null

    private var lint: Output? = null

    private var manifest: Output>? = null

    private var maxHistory: Output? = null

    private var name: Output? = null

    private var namespace: Output? = null

    private var postrender: Output? = null

    private var recreatePods: Output? = null

    private var renderSubchartNotes: Output? = null

    private var replace: Output? = null

    private var repositoryOpts: Output? = null

    private var resetValues: Output? = null

    private var resourceNames: Output>>? = null

    private var reuseValues: Output? = null

    private var skipAwait: Output? = null

    private var skipCrds: Output? = null

    private var timeout: Output? = null

    private var valueYamlFiles: Output>? = null

    private var values: Output>? = null

    private var verify: Output? = null

    private var version: Output? = null

    private var waitForJobs: Output? = null

    /**
     * @param value Whether to allow Null values in helm chart configs.
     */
    @JvmName("xpuycechutvaquhf")
    public suspend fun allowNullValues(`value`: Output) {
        this.allowNullValues = value
    }

    /**
     * @param value If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used.
     */
    @JvmName("erdlatvgpjkudlvx")
    public suspend fun atomic(`value`: Output) {
        this.atomic = value
    }

    /**
     * @param value Chart name to be installed. A path may be used.
     */
    @JvmName("qojndtlyuxjoxovg")
    public suspend fun chart(`value`: Output) {
        this.chart = value
    }

    /**
     * @param value Allow deletion of new resources created in this upgrade when upgrade fails.
     */
    @JvmName("vocnsvnmakyunove")
    public suspend fun cleanupOnFail(`value`: Output) {
        this.cleanupOnFail = value
    }

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

    /**
     * @param value Create the namespace if it does not exist.
     */
    @JvmName("oyfxuddrxdvmhycu")
    public suspend fun createNamespace(`value`: Output) {
        this.createNamespace = value
    }

    /**
     * @param value Run helm dependency update before installing the chart.
     */
    @JvmName("ybqojjwtbtqjiccj")
    public suspend fun dependencyUpdate(`value`: Output) {
        this.dependencyUpdate = value
    }

    /**
     * @param value Add a custom description
     */
    @JvmName("ggyjtrsfmfrglidk")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored.
     */
    @JvmName("eklptojymbmpvryh")
    public suspend fun devel(`value`: Output) {
        this.devel = value
    }

    /**
     * @param value Prevent CRD hooks from running, but run other hooks.  See helm install --no-crd-hook
     */
    @JvmName("vleykfpvtqhfdwhu")
    public suspend fun disableCRDHooks(`value`: Output) {
        this.disableCRDHooks = value
    }

    /**
     * @param value If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
     */
    @JvmName("jxiwcamvikndujhe")
    public suspend fun disableOpenapiValidation(`value`: Output) {
        this.disableOpenapiValidation = value
    }

    /**
     * @param value Prevent hooks from running.
     */
    @JvmName("aitjgutlgtmmncih")
    public suspend fun disableWebhooks(`value`: Output) {
        this.disableWebhooks = value
    }

    /**
     * @param value Force resource update through delete/recreate if needed.
     */
    @JvmName("abthsvviwfuvavsf")
    public suspend fun forceUpdate(`value`: Output) {
        this.forceUpdate = value
    }

    /**
     * @param value Location of public keys used for verification. Used only if `verify` is true
     */
    @JvmName("qnpifgfiyrbjscnh")
    public suspend fun keyring(`value`: Output) {
        this.keyring = value
    }

    /**
     * @param value Run helm lint when planning.
     */
    @JvmName("mlbarhiayekkyopu")
    public suspend fun lint(`value`: Output) {
        this.lint = value
    }

    /**
     * @param value The rendered manifests as JSON. Not yet supported.
     */
    @JvmName("qlgjyhfvucqgtqis")
    public suspend fun manifest(`value`: Output>) {
        this.manifest = value
    }

    /**
     * @param value Limit the maximum number of revisions saved per release. Use 0 for no limit.
     */
    @JvmName("cylbkdyrpdrumqhm")
    public suspend fun maxHistory(`value`: Output) {
        this.maxHistory = value
    }

    /**
     * @param value Release name.
     */
    @JvmName("oddldrkbejkhoyjw")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Namespace to install the release into.
     */
    @JvmName("toqluvkyrpvtlbka")
    public suspend fun namespace(`value`: Output) {
        this.namespace = value
    }

    /**
     * @param value Postrender command to run.
     */
    @JvmName("gqfbbmgxdhayhivc")
    public suspend fun postrender(`value`: Output) {
        this.postrender = value
    }

    /**
     * @param value Perform pods restart during upgrade/rollback.
     */
    @JvmName("doxlxhjwchehooiq")
    public suspend fun recreatePods(`value`: Output) {
        this.recreatePods = value
    }

    /**
     * @param value If set, render subchart notes along with the parent.
     */
    @JvmName("kvbcqgedshnfpkly")
    public suspend fun renderSubchartNotes(`value`: Output) {
        this.renderSubchartNotes = value
    }

    /**
     * @param value Re-use the given name, even if that name is already used. This is unsafe in production
     */
    @JvmName("ggblxumigmxrgmmk")
    public suspend fun replace(`value`: Output) {
        this.replace = value
    }

    /**
     * @param value Specification defining the Helm chart repository to use.
     */
    @JvmName("ykqrdtiabvojtnev")
    public suspend fun repositoryOpts(`value`: Output) {
        this.repositoryOpts = value
    }

    /**
     * @param value When upgrading, reset the values to the ones built into the chart.
     */
    @JvmName("hgainjyywftohqnv")
    public suspend fun resetValues(`value`: Output) {
        this.resetValues = value
    }

    /**
     * @param value Names of resources created by the release grouped by "kind/version".
     */
    @JvmName("nprxcckuadiymplo")
    public suspend fun resourceNames(`value`: Output>>) {
        this.resourceNames = value
    }

    /**
     * @param value When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
     */
    @JvmName("unoaatqjfxyeivbi")
    public suspend fun reuseValues(`value`: Output) {
        this.reuseValues = value
    }

    /**
     * @param value By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
     */
    @JvmName("nuolkfhhekytwteu")
    public suspend fun skipAwait(`value`: Output) {
        this.skipAwait = value
    }

    /**
     * @param value If set, no CRDs will be installed. By default, CRDs are installed if not already present.
     */
    @JvmName("dxssnqtyxoiarqrr")
    public suspend fun skipCrds(`value`: Output) {
        this.skipCrds = value
    }

    /**
     * @param value Time in seconds to wait for any individual kubernetes operation.
     */
    @JvmName("gijihwyvfvsjdnwm")
    public suspend fun timeout(`value`: Output) {
        this.timeout = value
    }

    /**
     * @param value List of assets (raw yaml files). Content is read and merged with values.
     */
    @JvmName("rojshwpjhojykmhl")
    public suspend fun valueYamlFiles(`value`: Output>) {
        this.valueYamlFiles = value
    }

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

    /**
     * @param values List of assets (raw yaml files). Content is read and merged with values.
     */
    @JvmName("oqctppsbpoccsrcd")
    public suspend fun valueYamlFiles(values: List>) {
        this.valueYamlFiles = Output.all(values)
    }

    /**
     * @param value Custom values set for the release.
     */
    @JvmName("pxrvjmqtsvjbgivy")
    public suspend fun values(`value`: Output>) {
        this.values = value
    }

    /**
     * @param value Verify the package before installing it.
     */
    @JvmName("wnusexclkmqytwow")
    public suspend fun verify(`value`: Output) {
        this.verify = value
    }

    /**
     * @param value Specify the exact chart version to install. If this is not specified, the latest version is installed.
     */
    @JvmName("bpjtfancijpayprn")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled.
     */
    @JvmName("vllqufnbrxcenbri")
    public suspend fun waitForJobs(`value`: Output) {
        this.waitForJobs = value
    }

    /**
     * @param value Whether to allow Null values in helm chart configs.
     */
    @JvmName("uknagubmajxvpnqu")
    public suspend fun allowNullValues(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowNullValues = mapped
    }

    /**
     * @param value If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used.
     */
    @JvmName("kswcxkccmoiarnnq")
    public suspend fun atomic(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.atomic = mapped
    }

    /**
     * @param value Chart name to be installed. A path may be used.
     */
    @JvmName("ltgtaobbjjjlfbbp")
    public suspend fun chart(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.chart = mapped
    }

    /**
     * @param value Allow deletion of new resources created in this upgrade when upgrade fails.
     */
    @JvmName("apdirrvurgqagwgp")
    public suspend fun cleanupOnFail(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cleanupOnFail = mapped
    }

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

    /**
     * @param value Create the namespace if it does not exist.
     */
    @JvmName("ugjkikwirxajcnhr")
    public suspend fun createNamespace(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.createNamespace = mapped
    }

    /**
     * @param value Run helm dependency update before installing the chart.
     */
    @JvmName("lcpifurubyefdbkw")
    public suspend fun dependencyUpdate(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dependencyUpdate = mapped
    }

    /**
     * @param value Add a custom description
     */
    @JvmName("lypvgsxarxuiykja")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored.
     */
    @JvmName("jpcogoqvatowmopd")
    public suspend fun devel(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.devel = mapped
    }

    /**
     * @param value Prevent CRD hooks from running, but run other hooks.  See helm install --no-crd-hook
     */
    @JvmName("rgguxdufrbqbsxqy")
    public suspend fun disableCRDHooks(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableCRDHooks = mapped
    }

    /**
     * @param value If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
     */
    @JvmName("bbpuhmrexfsgcunn")
    public suspend fun disableOpenapiValidation(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableOpenapiValidation = mapped
    }

    /**
     * @param value Prevent hooks from running.
     */
    @JvmName("hqpilphpfinwoegv")
    public suspend fun disableWebhooks(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.disableWebhooks = mapped
    }

    /**
     * @param value Force resource update through delete/recreate if needed.
     */
    @JvmName("pwpydonwkhaxvvjv")
    public suspend fun forceUpdate(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.forceUpdate = mapped
    }

    /**
     * @param value Location of public keys used for verification. Used only if `verify` is true
     */
    @JvmName("meapxmmvgkgdryig")
    public suspend fun keyring(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyring = mapped
    }

    /**
     * @param value Run helm lint when planning.
     */
    @JvmName("eysivdrlaljmwlks")
    public suspend fun lint(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lint = mapped
    }

    /**
     * @param value The rendered manifests as JSON. Not yet supported.
     */
    @JvmName("rxljnbvvsqpbvqar")
    public suspend fun manifest(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.manifest = mapped
    }

    /**
     * @param values The rendered manifests as JSON. Not yet supported.
     */
    @JvmName("vlhdialjvieudttv")
    public fun manifest(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.manifest = mapped
    }

    /**
     * @param value Limit the maximum number of revisions saved per release. Use 0 for no limit.
     */
    @JvmName("wrmvvqoxgffdyivx")
    public suspend fun maxHistory(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxHistory = mapped
    }

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

    /**
     * @param value Namespace to install the release into.
     */
    @JvmName("jlhfldxsbdeubmbb")
    public suspend fun namespace(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.namespace = mapped
    }

    /**
     * @param value Postrender command to run.
     */
    @JvmName("rmaopkxobegsyeio")
    public suspend fun postrender(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.postrender = mapped
    }

    /**
     * @param value Perform pods restart during upgrade/rollback.
     */
    @JvmName("mifcwvxpwymoexgk")
    public suspend fun recreatePods(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recreatePods = mapped
    }

    /**
     * @param value If set, render subchart notes along with the parent.
     */
    @JvmName("vwxqytfpmlkutaac")
    public suspend fun renderSubchartNotes(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.renderSubchartNotes = mapped
    }

    /**
     * @param value Re-use the given name, even if that name is already used. This is unsafe in production
     */
    @JvmName("ffmkpajyuuxtnlfa")
    public suspend fun replace(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.replace = mapped
    }

    /**
     * @param value Specification defining the Helm chart repository to use.
     */
    @JvmName("gwwvbjelybcjgntf")
    public suspend fun repositoryOpts(`value`: RepositoryOptsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.repositoryOpts = mapped
    }

    /**
     * @param argument Specification defining the Helm chart repository to use.
     */
    @JvmName("momhgeavxejwsuij")
    public suspend fun repositoryOpts(argument: suspend RepositoryOptsArgsBuilder.() -> Unit) {
        val toBeMapped = RepositoryOptsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.repositoryOpts = mapped
    }

    /**
     * @param value When upgrading, reset the values to the ones built into the chart.
     */
    @JvmName("bjecryaykhatmgec")
    public suspend fun resetValues(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resetValues = mapped
    }

    /**
     * @param value Names of resources created by the release grouped by "kind/version".
     */
    @JvmName("bqcjwguhlplmqiih")
    public suspend fun resourceNames(`value`: Map>?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceNames = mapped
    }

    /**
     * @param values Names of resources created by the release grouped by "kind/version".
     */
    @JvmName("vmsniqahkhbesgdp")
    public fun resourceNames(vararg values: Pair>) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceNames = mapped
    }

    /**
     * @param value When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
     */
    @JvmName("duqberamaqnbolbp")
    public suspend fun reuseValues(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.reuseValues = mapped
    }

    /**
     * @param value By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
     */
    @JvmName("ihyoqgckjowkooju")
    public suspend fun skipAwait(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.skipAwait = mapped
    }

    /**
     * @param value If set, no CRDs will be installed. By default, CRDs are installed if not already present.
     */
    @JvmName("puakglilqpwdyjmo")
    public suspend fun skipCrds(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.skipCrds = mapped
    }

    /**
     * @param value Time in seconds to wait for any individual kubernetes operation.
     */
    @JvmName("gblncnhmalqbaqvp")
    public suspend fun timeout(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeout = mapped
    }

    /**
     * @param value List of assets (raw yaml files). Content is read and merged with values.
     */
    @JvmName("ohyyqoapcqqniudn")
    public suspend fun valueYamlFiles(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.valueYamlFiles = mapped
    }

    /**
     * @param values List of assets (raw yaml files). Content is read and merged with values.
     */
    @JvmName("dbuwwfvfldlaltaq")
    public suspend fun valueYamlFiles(vararg values: AssetOrArchive) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.valueYamlFiles = mapped
    }

    /**
     * @param value Custom values set for the release.
     */
    @JvmName("ojyauobbuqrikehg")
    public suspend fun values(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.values = mapped
    }

    /**
     * @param values Custom values set for the release.
     */
    @JvmName("mdbwvcspgljubsma")
    public fun values(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.values = mapped
    }

    /**
     * @param value Verify the package before installing it.
     */
    @JvmName("laxfoqtviqmykjej")
    public suspend fun verify(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.verify = mapped
    }

    /**
     * @param value Specify the exact chart version to install. If this is not specified, the latest version is installed.
     */
    @JvmName("vylyronglspsubfc")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    /**
     * @param value Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled.
     */
    @JvmName("adituohnpqrdlpbo")
    public suspend fun waitForJobs(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.waitForJobs = mapped
    }

    internal fun build(): ReleaseArgs = ReleaseArgs(
        allowNullValues = allowNullValues,
        atomic = atomic,
        chart = chart,
        cleanupOnFail = cleanupOnFail,
        compat = compat,
        createNamespace = createNamespace,
        dependencyUpdate = dependencyUpdate,
        description = description,
        devel = devel,
        disableCRDHooks = disableCRDHooks,
        disableOpenapiValidation = disableOpenapiValidation,
        disableWebhooks = disableWebhooks,
        forceUpdate = forceUpdate,
        keyring = keyring,
        lint = lint,
        manifest = manifest,
        maxHistory = maxHistory,
        name = name,
        namespace = namespace,
        postrender = postrender,
        recreatePods = recreatePods,
        renderSubchartNotes = renderSubchartNotes,
        replace = replace,
        repositoryOpts = repositoryOpts,
        resetValues = resetValues,
        resourceNames = resourceNames,
        reuseValues = reuseValues,
        skipAwait = skipAwait,
        skipCrds = skipCrds,
        timeout = timeout,
        valueYamlFiles = valueYamlFiles,
        values = values,
        verify = verify,
        version = version,
        waitForJobs = waitForJobs,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy