Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.container.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.container.inputs.ClusterAddonsConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property cloudrunConfig . Structure is documented below.
* @property configConnectorConfig .
* The status of the ConfigConnector addon. It is disabled by default; Set `enabled = true` to enable.
* @property dnsCacheConfig .
* The status of the NodeLocal DNSCache addon. It is disabled by default.
* Set `enabled = true` to enable.
* **Enabling/Disabling NodeLocal DNSCache in an existing cluster is a disruptive operation.
* All cluster nodes running GKE 1.15 and higher are recreated.**
* @property gcePersistentDiskCsiDriverConfig .
* Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Set `enabled = true` to enable.
* **Note:** The Compute Engine persistent disk CSI Driver is enabled by default on newly created clusters for the following versions: Linux clusters: GKE version 1.18.10-gke.2100 or later, or 1.19.3-gke.2100 or later.
* @property gcpFilestoreCsiDriverConfig The status of the Filestore CSI driver addon,
* which allows the usage of filestore instance as volumes.
* It is disabled by default; set `enabled = true` to enable.
* @property gcsFuseCsiDriverConfig The status of the GCSFuse CSI driver addon,
* which allows the usage of a gcs bucket as volumes.
* It is disabled by default for Standard clusters; set `enabled = true` to enable.
* It is enabled by default for Autopilot clusters with version 1.24 or later; set `enabled = true` to enable it explicitly.
* See [Enable the Cloud Storage FUSE CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/cloud-storage-fuse-csi-driver#enable) for more information.
* @property gkeBackupAgentConfig .
* The status of the Backup for GKE agent addon. It is disabled by default; Set `enabled = true` to enable.
* @property horizontalPodAutoscaling The status of the Horizontal Pod Autoscaling
* addon, which increases or decreases the number of replica pods a replication controller
* has based on the resource usage of the existing pods.
* It is enabled by default;
* set `disabled = true` to disable.
* @property httpLoadBalancing The status of the HTTP (L7) load balancing
* controller addon, which makes it easy to set up HTTP load balancers for services in a
* cluster. It is enabled by default; set `disabled = true` to disable.
* @property istioConfig .
* Structure is documented below.
* @property kalmConfig .
* Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set `enabled = true` to enable.
* @property networkPolicyConfig Whether we should enable the network policy addon
* for the master. This must be enabled in order to enable network policy for the nodes.
* To enable this, you must also define a `network_policy` block,
* otherwise nothing will happen.
* It can only be disabled if the nodes already do not have network policies enabled.
* Defaults to disabled; set `disabled = false` to enable.
* @property parallelstoreCsiDriverConfig The status of the Parallelstore CSI driver addon,
* which allows the usage of a Parallelstore instances as volumes.
* It is disabled by default for Standard clusters; set `enabled = true` to enable.
* It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
* See [Enable the Parallelstore CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/parallelstore-csi-new-volume#enable) for more information.
* This example `addons_config` disables two addons:
* @property rayOperatorConfigs . The status of the [Ray Operator
* addon](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview).
* It is disabled by default. Set `enabled = true` to enable. The minimum
* cluster version to enable Ray is 1.30.0-gke.1747000.
* Ray Operator config has optional subfields
* `ray_cluster_logging_config.enabled` and
* `ray_cluster_monitoring_config.enabled` which control Ray Cluster logging
* and monitoring respectively. See [Collect and view logs and metrics for Ray
* clusters on
* GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/how-to/collect-view-logs-metrics)
* for more information.
* @property statefulHaConfig .
* The status of the Stateful HA addon, which provides automatic configurable failover for stateful applications.
* It is disabled by default for Standard clusters. Set `enabled = true` to enable.
*/
public data class ClusterAddonsConfigArgs(
public val cloudrunConfig: Output? = null,
public val configConnectorConfig: Output? = null,
public val dnsCacheConfig: Output? = null,
public val gcePersistentDiskCsiDriverConfig: Output? = null,
public val gcpFilestoreCsiDriverConfig: Output? = null,
public val gcsFuseCsiDriverConfig: Output? = null,
public val gkeBackupAgentConfig: Output? = null,
public val horizontalPodAutoscaling: Output? =
null,
public val httpLoadBalancing: Output? = null,
public val istioConfig: Output? = null,
public val kalmConfig: Output? = null,
public val networkPolicyConfig: Output? = null,
public val parallelstoreCsiDriverConfig: Output? = null,
public val rayOperatorConfigs: Output>? = null,
public val statefulHaConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.container.inputs.ClusterAddonsConfigArgs =
com.pulumi.gcp.container.inputs.ClusterAddonsConfigArgs.builder()
.cloudrunConfig(cloudrunConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.configConnectorConfig(
configConnectorConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.dnsCacheConfig(dnsCacheConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.gcePersistentDiskCsiDriverConfig(
gcePersistentDiskCsiDriverConfig?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.gcpFilestoreCsiDriverConfig(
gcpFilestoreCsiDriverConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.gcsFuseCsiDriverConfig(
gcsFuseCsiDriverConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.gkeBackupAgentConfig(
gkeBackupAgentConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.horizontalPodAutoscaling(
horizontalPodAutoscaling?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.httpLoadBalancing(httpLoadBalancing?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.istioConfig(istioConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.kalmConfig(kalmConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.networkPolicyConfig(
networkPolicyConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.parallelstoreCsiDriverConfig(
parallelstoreCsiDriverConfig?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.rayOperatorConfigs(
rayOperatorConfigs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.statefulHaConfig(
statefulHaConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [ClusterAddonsConfigArgs].
*/
@PulumiTagMarker
public class ClusterAddonsConfigArgsBuilder internal constructor() {
private var cloudrunConfig: Output? = null
private var configConnectorConfig: Output? = null
private var dnsCacheConfig: Output? = null
private var gcePersistentDiskCsiDriverConfig:
Output? = null
private var gcpFilestoreCsiDriverConfig:
Output? = null
private var gcsFuseCsiDriverConfig: Output? = null
private var gkeBackupAgentConfig: Output? = null
private var horizontalPodAutoscaling: Output? =
null
private var httpLoadBalancing: Output? = null
private var istioConfig: Output? = null
private var kalmConfig: Output? = null
private var networkPolicyConfig: Output? = null
private var parallelstoreCsiDriverConfig:
Output? = null
private var rayOperatorConfigs: Output>? = null
private var statefulHaConfig: Output? = null
/**
* @param value . Structure is documented below.
*/
@JvmName("ghnslalmipenwgtm")
public suspend fun cloudrunConfig(`value`: Output) {
this.cloudrunConfig = value
}
/**
* @param value .
* The status of the ConfigConnector addon. It is disabled by default; Set `enabled = true` to enable.
*/
@JvmName("gfehhjdcrqfjwlvu")
public suspend fun configConnectorConfig(`value`: Output) {
this.configConnectorConfig = value
}
/**
* @param value .
* The status of the NodeLocal DNSCache addon. It is disabled by default.
* Set `enabled = true` to enable.
* **Enabling/Disabling NodeLocal DNSCache in an existing cluster is a disruptive operation.
* All cluster nodes running GKE 1.15 and higher are recreated.**
*/
@JvmName("pgknfvknflxjdjnj")
public suspend fun dnsCacheConfig(`value`: Output) {
this.dnsCacheConfig = value
}
/**
* @param value .
* Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Set `enabled = true` to enable.
* **Note:** The Compute Engine persistent disk CSI Driver is enabled by default on newly created clusters for the following versions: Linux clusters: GKE version 1.18.10-gke.2100 or later, or 1.19.3-gke.2100 or later.
*/
@JvmName("hxtehurwogaacoxg")
public suspend fun gcePersistentDiskCsiDriverConfig(`value`: Output) {
this.gcePersistentDiskCsiDriverConfig = value
}
/**
* @param value The status of the Filestore CSI driver addon,
* which allows the usage of filestore instance as volumes.
* It is disabled by default; set `enabled = true` to enable.
*/
@JvmName("lrvnupdkfmabgxbc")
public suspend fun gcpFilestoreCsiDriverConfig(`value`: Output) {
this.gcpFilestoreCsiDriverConfig = value
}
/**
* @param value The status of the GCSFuse CSI driver addon,
* which allows the usage of a gcs bucket as volumes.
* It is disabled by default for Standard clusters; set `enabled = true` to enable.
* It is enabled by default for Autopilot clusters with version 1.24 or later; set `enabled = true` to enable it explicitly.
* See [Enable the Cloud Storage FUSE CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/cloud-storage-fuse-csi-driver#enable) for more information.
*/
@JvmName("ecyjhtyynglsdckp")
public suspend fun gcsFuseCsiDriverConfig(`value`: Output) {
this.gcsFuseCsiDriverConfig = value
}
/**
* @param value .
* The status of the Backup for GKE agent addon. It is disabled by default; Set `enabled = true` to enable.
*/
@JvmName("mamkwcxnoqrpxfue")
public suspend fun gkeBackupAgentConfig(`value`: Output) {
this.gkeBackupAgentConfig = value
}
/**
* @param value The status of the Horizontal Pod Autoscaling
* addon, which increases or decreases the number of replica pods a replication controller
* has based on the resource usage of the existing pods.
* It is enabled by default;
* set `disabled = true` to disable.
*/
@JvmName("uegopjcwdwnhnfje")
public suspend fun horizontalPodAutoscaling(`value`: Output) {
this.horizontalPodAutoscaling = value
}
/**
* @param value The status of the HTTP (L7) load balancing
* controller addon, which makes it easy to set up HTTP load balancers for services in a
* cluster. It is enabled by default; set `disabled = true` to disable.
*/
@JvmName("dcsebybsnemyroff")
public suspend fun httpLoadBalancing(`value`: Output) {
this.httpLoadBalancing = value
}
/**
* @param value .
* Structure is documented below.
*/
@JvmName("irpufqqogoulbhbf")
public suspend fun istioConfig(`value`: Output) {
this.istioConfig = value
}
/**
* @param value .
* Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set `enabled = true` to enable.
*/
@JvmName("jberghjgqlkqdrei")
public suspend fun kalmConfig(`value`: Output) {
this.kalmConfig = value
}
/**
* @param value Whether we should enable the network policy addon
* for the master. This must be enabled in order to enable network policy for the nodes.
* To enable this, you must also define a `network_policy` block,
* otherwise nothing will happen.
* It can only be disabled if the nodes already do not have network policies enabled.
* Defaults to disabled; set `disabled = false` to enable.
*/
@JvmName("lbevyqytlleqxtep")
public suspend fun networkPolicyConfig(`value`: Output) {
this.networkPolicyConfig = value
}
/**
* @param value The status of the Parallelstore CSI driver addon,
* which allows the usage of a Parallelstore instances as volumes.
* It is disabled by default for Standard clusters; set `enabled = true` to enable.
* It is enabled by default for Autopilot clusters with version 1.29 or later; set `enabled = true` to enable it explicitly.
* See [Enable the Parallelstore CSI driver](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/parallelstore-csi-new-volume#enable) for more information.
* This example `addons_config` disables two addons:
*/
@JvmName("mwocpcnwknoolbmw")
public suspend fun parallelstoreCsiDriverConfig(`value`: Output) {
this.parallelstoreCsiDriverConfig = value
}
/**
* @param value . The status of the [Ray Operator
* addon](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview).
* It is disabled by default. Set `enabled = true` to enable. The minimum
* cluster version to enable Ray is 1.30.0-gke.1747000.
* Ray Operator config has optional subfields
* `ray_cluster_logging_config.enabled` and
* `ray_cluster_monitoring_config.enabled` which control Ray Cluster logging
* and monitoring respectively. See [Collect and view logs and metrics for Ray
* clusters on
* GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/how-to/collect-view-logs-metrics)
* for more information.
*/
@JvmName("folypfmwmhltnmgk")
public suspend fun rayOperatorConfigs(`value`: Output>) {
this.rayOperatorConfigs = value
}
@JvmName("ycdlgmxnfueokegg")
public suspend fun rayOperatorConfigs(vararg values: Output) {
this.rayOperatorConfigs = Output.all(values.asList())
}
/**
* @param values . The status of the [Ray Operator
* addon](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview).
* It is disabled by default. Set `enabled = true` to enable. The minimum
* cluster version to enable Ray is 1.30.0-gke.1747000.
* Ray Operator config has optional subfields
* `ray_cluster_logging_config.enabled` and
* `ray_cluster_monitoring_config.enabled` which control Ray Cluster logging
* and monitoring respectively. See [Collect and view logs and metrics for Ray
* clusters on
* GKE](https://cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/how-to/collect-view-logs-metrics)
* for more information.
*/
@JvmName("ikowmjjpptposbag")
public suspend fun rayOperatorConfigs(values: List