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

com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfig.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.container.kotlin.outputs

import kotlin.Suppress

/**
 *
 * @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 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.
 * This example `addons_config` disables two addons:
 */
public data class ClusterAddonsConfig(
    public val cloudrunConfig: ClusterAddonsConfigCloudrunConfig? = null,
    public val configConnectorConfig: ClusterAddonsConfigConfigConnectorConfig? = null,
    public val dnsCacheConfig: ClusterAddonsConfigDnsCacheConfig? = null,
    public val gcePersistentDiskCsiDriverConfig: ClusterAddonsConfigGcePersistentDiskCsiDriverConfig? =
        null,
    public val gcpFilestoreCsiDriverConfig: ClusterAddonsConfigGcpFilestoreCsiDriverConfig? = null,
    public val gcsFuseCsiDriverConfig: ClusterAddonsConfigGcsFuseCsiDriverConfig? = null,
    public val gkeBackupAgentConfig: ClusterAddonsConfigGkeBackupAgentConfig? = null,
    public val horizontalPodAutoscaling: ClusterAddonsConfigHorizontalPodAutoscaling? = null,
    public val httpLoadBalancing: ClusterAddonsConfigHttpLoadBalancing? = null,
    public val istioConfig: ClusterAddonsConfigIstioConfig? = null,
    public val kalmConfig: ClusterAddonsConfigKalmConfig? = null,
    public val networkPolicyConfig: ClusterAddonsConfigNetworkPolicyConfig? = null,
    public val statefulHaConfig: ClusterAddonsConfigStatefulHaConfig? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterAddonsConfig): ClusterAddonsConfig = ClusterAddonsConfig(
            cloudrunConfig = javaType.cloudrunConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigCloudrunConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            configConnectorConfig = javaType.configConnectorConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigConfigConnectorConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            dnsCacheConfig = javaType.dnsCacheConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigDnsCacheConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            gcePersistentDiskCsiDriverConfig = javaType.gcePersistentDiskCsiDriverConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigGcePersistentDiskCsiDriverConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            gcpFilestoreCsiDriverConfig = javaType.gcpFilestoreCsiDriverConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigGcpFilestoreCsiDriverConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            gcsFuseCsiDriverConfig = javaType.gcsFuseCsiDriverConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigGcsFuseCsiDriverConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            gkeBackupAgentConfig = javaType.gkeBackupAgentConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigGkeBackupAgentConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            horizontalPodAutoscaling = javaType.horizontalPodAutoscaling().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigHorizontalPodAutoscaling.Companion.toKotlin(args0)
                })
            }).orElse(null),
            httpLoadBalancing = javaType.httpLoadBalancing().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigHttpLoadBalancing.Companion.toKotlin(args0)
                })
            }).orElse(null),
            istioConfig = javaType.istioConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigIstioConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            kalmConfig = javaType.kalmConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigKalmConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            networkPolicyConfig = javaType.networkPolicyConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigNetworkPolicyConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            statefulHaConfig = javaType.statefulHaConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterAddonsConfigStatefulHaConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy