
com.pulumi.kubernetes.kotlin.ProviderArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.kubernetes.kotlin
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.ProviderArgs.builder
import com.pulumi.kubernetes.kotlin.inputs.HelmReleaseSettingsArgs
import com.pulumi.kubernetes.kotlin.inputs.HelmReleaseSettingsArgsBuilder
import com.pulumi.kubernetes.kotlin.inputs.KubeClientSettingsArgs
import com.pulumi.kubernetes.kotlin.inputs.KubeClientSettingsArgsBuilder
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* The provider type for the kubernetes package.
* @property cluster If present, the name of the kubeconfig cluster to use.
* @property context If present, the name of the kubeconfig context to use.
* @property deleteUnreachable If present and set to true, the provider will delete resources associated with an unreachable Kubernetes cluster from Pulumi state
* @property enableConfigMapMutable BETA FEATURE - If present and set to true, allow ConfigMaps to be mutated.
* This feature is in developer preview, and is disabled by default.
* This config can be specified in the following ways using this precedence:
* 1. This `enableConfigMapMutable` parameter.
* 2. The `PULUMI_K8S_ENABLE_CONFIGMAP_MUTABLE` environment variable.
* @property enableServerSideApply If present and set to false, disable Server-Side Apply mode.
* See https://github.com/pulumi/pulumi-kubernetes/issues/2011 for additional details.
* @property helmReleaseSettings Options to configure the Helm Release resource.
* @property kubeClientSettings Options for tuning the Kubernetes client used by a Provider.
* @property kubeconfig The contents of a kubeconfig file or the path to a kubeconfig file.
* @property namespace If present, the default namespace to use. This flag is ignored for cluster-scoped resources.
* A namespace can be specified in multiple places, and the precedence is as follows:
* 1. `.metadata.namespace` set on the resource.
* 2. This `namespace` parameter.
* 3. `namespace` set for the active context in the kubeconfig.
* @property renderYamlToDirectory BETA FEATURE - If present, render resource manifests to this directory. In this mode, resources will not
* be created on a Kubernetes cluster, but the rendered manifests will be kept in sync with changes
* to the Pulumi program. This feature is in developer preview, and is disabled by default.
* Note that some computed Outputs such as status fields will not be populated
* since the resources are not created on a Kubernetes cluster. These Output values will remain undefined,
* and may result in an error if they are referenced by other resources. Also note that any secret values
* used in these resources will be rendered in plaintext to the resulting YAML.
* @property skipUpdateUnreachable If present and set to true, the provider will skip resources update associated with an unreachable Kubernetes cluster from Pulumi state
* @property suppressDeprecationWarnings If present and set to true, suppress apiVersion deprecation warnings from the CLI.
* @property suppressHelmHookWarnings If present and set to true, suppress unsupported Helm hook warnings from the CLI.
*/
public data class ProviderArgs(
public val cluster: Output? = null,
public val context: Output? = null,
public val deleteUnreachable: Output? = null,
public val enableConfigMapMutable: Output? = null,
public val enableServerSideApply: Output? = null,
public val helmReleaseSettings: Output? = null,
public val kubeClientSettings: Output? = null,
public val kubeconfig: Output? = null,
public val namespace: Output? = null,
public val renderYamlToDirectory: Output? = null,
public val skipUpdateUnreachable: Output? = null,
public val suppressDeprecationWarnings: Output? = null,
public val suppressHelmHookWarnings: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.kubernetes.ProviderArgs =
com.pulumi.kubernetes.ProviderArgs.builder()
.cluster(cluster?.applyValue({ args0 -> args0 }))
.context(context?.applyValue({ args0 -> args0 }))
.deleteUnreachable(deleteUnreachable?.applyValue({ args0 -> args0 }))
.enableConfigMapMutable(enableConfigMapMutable?.applyValue({ args0 -> args0 }))
.enableServerSideApply(enableServerSideApply?.applyValue({ args0 -> args0 }))
.helmReleaseSettings(
helmReleaseSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.kubeClientSettings(
kubeClientSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.kubeconfig(kubeconfig?.applyValue({ args0 -> args0 }))
.namespace(namespace?.applyValue({ args0 -> args0 }))
.renderYamlToDirectory(renderYamlToDirectory?.applyValue({ args0 -> args0 }))
.skipUpdateUnreachable(skipUpdateUnreachable?.applyValue({ args0 -> args0 }))
.suppressDeprecationWarnings(suppressDeprecationWarnings?.applyValue({ args0 -> args0 }))
.suppressHelmHookWarnings(suppressHelmHookWarnings?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ProviderArgs].
*/
@PulumiTagMarker
public class ProviderArgsBuilder internal constructor() {
private var cluster: Output? = null
private var context: Output? = null
private var deleteUnreachable: Output? = null
private var enableConfigMapMutable: Output? = null
private var enableServerSideApply: Output? = null
private var helmReleaseSettings: Output? = null
private var kubeClientSettings: Output? = null
private var kubeconfig: Output? = null
private var namespace: Output? = null
private var renderYamlToDirectory: Output? = null
private var skipUpdateUnreachable: Output? = null
private var suppressDeprecationWarnings: Output? = null
private var suppressHelmHookWarnings: Output? = null
/**
* @param value If present, the name of the kubeconfig cluster to use.
*/
@JvmName("xhweyuidltapwbkq")
public suspend fun cluster(`value`: Output) {
this.cluster = value
}
/**
* @param value If present, the name of the kubeconfig context to use.
*/
@JvmName("tqoqaemikbaswipm")
public suspend fun context(`value`: Output) {
this.context = value
}
/**
* @param value If present and set to true, the provider will delete resources associated with an unreachable Kubernetes cluster from Pulumi state
*/
@JvmName("hguqvefqbaohuque")
public suspend fun deleteUnreachable(`value`: Output) {
this.deleteUnreachable = value
}
/**
* @param value BETA FEATURE - If present and set to true, allow ConfigMaps to be mutated.
* This feature is in developer preview, and is disabled by default.
* This config can be specified in the following ways using this precedence:
* 1. This `enableConfigMapMutable` parameter.
* 2. The `PULUMI_K8S_ENABLE_CONFIGMAP_MUTABLE` environment variable.
*/
@JvmName("sjjmhgydrpuqtpnd")
public suspend fun enableConfigMapMutable(`value`: Output) {
this.enableConfigMapMutable = value
}
/**
* @param value If present and set to false, disable Server-Side Apply mode.
* See https://github.com/pulumi/pulumi-kubernetes/issues/2011 for additional details.
*/
@JvmName("cnrmktnrdnborcaa")
public suspend fun enableServerSideApply(`value`: Output) {
this.enableServerSideApply = value
}
/**
* @param value Options to configure the Helm Release resource.
*/
@JvmName("ptjpqtmerwlngogy")
public suspend fun helmReleaseSettings(`value`: Output) {
this.helmReleaseSettings = value
}
/**
* @param value Options for tuning the Kubernetes client used by a Provider.
*/
@JvmName("vwvapcbfplciwmqb")
public suspend fun kubeClientSettings(`value`: Output) {
this.kubeClientSettings = value
}
/**
* @param value The contents of a kubeconfig file or the path to a kubeconfig file.
*/
@JvmName("sapakkcrbhduawjg")
public suspend fun kubeconfig(`value`: Output) {
this.kubeconfig = value
}
/**
* @param value If present, the default namespace to use. This flag is ignored for cluster-scoped resources.
* A namespace can be specified in multiple places, and the precedence is as follows:
* 1. `.metadata.namespace` set on the resource.
* 2. This `namespace` parameter.
* 3. `namespace` set for the active context in the kubeconfig.
*/
@JvmName("lclclenuqxiakkls")
public suspend fun namespace(`value`: Output) {
this.namespace = value
}
/**
* @param value BETA FEATURE - If present, render resource manifests to this directory. In this mode, resources will not
* be created on a Kubernetes cluster, but the rendered manifests will be kept in sync with changes
* to the Pulumi program. This feature is in developer preview, and is disabled by default.
* Note that some computed Outputs such as status fields will not be populated
* since the resources are not created on a Kubernetes cluster. These Output values will remain undefined,
* and may result in an error if they are referenced by other resources. Also note that any secret values
* used in these resources will be rendered in plaintext to the resulting YAML.
*/
@JvmName("gijjukqntvubeiwq")
public suspend fun renderYamlToDirectory(`value`: Output) {
this.renderYamlToDirectory = value
}
/**
* @param value If present and set to true, the provider will skip resources update associated with an unreachable Kubernetes cluster from Pulumi state
*/
@JvmName("ewjnnqngmrvvstcb")
public suspend fun skipUpdateUnreachable(`value`: Output) {
this.skipUpdateUnreachable = value
}
/**
* @param value If present and set to true, suppress apiVersion deprecation warnings from the CLI.
*/
@JvmName("cofgpcvlexxiacof")
public suspend fun suppressDeprecationWarnings(`value`: Output) {
this.suppressDeprecationWarnings = value
}
/**
* @param value If present and set to true, suppress unsupported Helm hook warnings from the CLI.
*/
@JvmName("lnwscjddqnjpgcrm")
public suspend fun suppressHelmHookWarnings(`value`: Output) {
this.suppressHelmHookWarnings = value
}
/**
* @param value If present, the name of the kubeconfig cluster to use.
*/
@JvmName("smykhdfhvkpecmoc")
public suspend fun cluster(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.cluster = mapped
}
/**
* @param value If present, the name of the kubeconfig context to use.
*/
@JvmName("sjnoevrpvlgnbvop")
public suspend fun context(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.context = mapped
}
/**
* @param value If present and set to true, the provider will delete resources associated with an unreachable Kubernetes cluster from Pulumi state
*/
@JvmName("fqhajrctceepwrdo")
public suspend fun deleteUnreachable(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deleteUnreachable = mapped
}
/**
* @param value BETA FEATURE - If present and set to true, allow ConfigMaps to be mutated.
* This feature is in developer preview, and is disabled by default.
* This config can be specified in the following ways using this precedence:
* 1. This `enableConfigMapMutable` parameter.
* 2. The `PULUMI_K8S_ENABLE_CONFIGMAP_MUTABLE` environment variable.
*/
@JvmName("bexyfnphguugsttt")
public suspend fun enableConfigMapMutable(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableConfigMapMutable = mapped
}
/**
* @param value If present and set to false, disable Server-Side Apply mode.
* See https://github.com/pulumi/pulumi-kubernetes/issues/2011 for additional details.
*/
@JvmName("iuirfhnmwaagwvyb")
public suspend fun enableServerSideApply(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableServerSideApply = mapped
}
/**
* @param value Options to configure the Helm Release resource.
*/
@JvmName("kijypxaxvchafxpv")
public suspend fun helmReleaseSettings(`value`: HelmReleaseSettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.helmReleaseSettings = mapped
}
/**
* @param argument Options to configure the Helm Release resource.
*/
@JvmName("yutopjtcdvkmbxxx")
public suspend fun helmReleaseSettings(argument: suspend HelmReleaseSettingsArgsBuilder.() -> Unit) {
val toBeMapped = HelmReleaseSettingsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.helmReleaseSettings = mapped
}
/**
* @param value Options for tuning the Kubernetes client used by a Provider.
*/
@JvmName("onsmjmcnfmgybpxh")
public suspend fun kubeClientSettings(`value`: KubeClientSettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kubeClientSettings = mapped
}
/**
* @param argument Options for tuning the Kubernetes client used by a Provider.
*/
@JvmName("dtwdndgwtfhxladu")
public suspend fun kubeClientSettings(argument: suspend KubeClientSettingsArgsBuilder.() -> Unit) {
val toBeMapped = KubeClientSettingsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.kubeClientSettings = mapped
}
/**
* @param value The contents of a kubeconfig file or the path to a kubeconfig file.
*/
@JvmName("ckbkwfnmhstavjig")
public suspend fun kubeconfig(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kubeconfig = mapped
}
/**
* @param value If present, the default namespace to use. This flag is ignored for cluster-scoped resources.
* A namespace can be specified in multiple places, and the precedence is as follows:
* 1. `.metadata.namespace` set on the resource.
* 2. This `namespace` parameter.
* 3. `namespace` set for the active context in the kubeconfig.
*/
@JvmName("qbjcyewuiuedubgw")
public suspend fun namespace(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.namespace = mapped
}
/**
* @param value BETA FEATURE - If present, render resource manifests to this directory. In this mode, resources will not
* be created on a Kubernetes cluster, but the rendered manifests will be kept in sync with changes
* to the Pulumi program. This feature is in developer preview, and is disabled by default.
* Note that some computed Outputs such as status fields will not be populated
* since the resources are not created on a Kubernetes cluster. These Output values will remain undefined,
* and may result in an error if they are referenced by other resources. Also note that any secret values
* used in these resources will be rendered in plaintext to the resulting YAML.
*/
@JvmName("rmjosaelcxxpkwpy")
public suspend fun renderYamlToDirectory(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.renderYamlToDirectory = mapped
}
/**
* @param value If present and set to true, the provider will skip resources update associated with an unreachable Kubernetes cluster from Pulumi state
*/
@JvmName("tvgtmgkgjiccxfnl")
public suspend fun skipUpdateUnreachable(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.skipUpdateUnreachable = mapped
}
/**
* @param value If present and set to true, suppress apiVersion deprecation warnings from the CLI.
*/
@JvmName("mymypgtbqoiqsfso")
public suspend fun suppressDeprecationWarnings(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.suppressDeprecationWarnings = mapped
}
/**
* @param value If present and set to true, suppress unsupported Helm hook warnings from the CLI.
*/
@JvmName("oyeqynncaicvwrir")
public suspend fun suppressHelmHookWarnings(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.suppressHelmHookWarnings = mapped
}
internal fun build(): ProviderArgs = ProviderArgs(
cluster = cluster,
context = context,
deleteUnreachable = deleteUnreachable,
enableConfigMapMutable = enableConfigMapMutable,
enableServerSideApply = enableServerSideApply,
helmReleaseSettings = helmReleaseSettings,
kubeClientSettings = kubeClientSettings,
kubeconfig = kubeconfig,
namespace = namespace,
renderYamlToDirectory = renderYamlToDirectory,
skipUpdateUnreachable = skipUpdateUnreachable,
suppressDeprecationWarnings = suppressDeprecationWarnings,
suppressHelmHookWarnings = suppressHelmHookWarnings,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy