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

com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlane.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.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @property databaseEncryption Optional. Configuration related to application-layer secrets encryption.
 * @property mainVolume Optional. Configuration related to the main volume provisioned for each control plane replica. The main volume is in charge of storing all of the cluster's etcd state. When unspecified, it defaults to a 8-GiB Azure Disk.
 * @property proxyConfig Proxy configuration for outbound HTTP(S) traffic.
 * @property replicaPlacements Configuration for where to place the control plane replicas. Up to three replica placement instances can be specified. If replica_placements is set, the replica placement instances will be applied to the three control plane replicas as evenly as possible.
 * @property rootVolume Optional. Configuration related to the root volume provisioned for each control plane replica. When unspecified, it defaults to 32-GiB Azure Disk.
 * @property sshConfig SSH configuration for how to access the underlying control plane machines.
 * @property subnetId The ARM ID of the subnet where the control plane VMs are deployed. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`.
 * @property tags Optional. A set of tags to apply to all underlying control plane Azure resources.
 * @property version The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAzureServerConfig.
 * @property vmSize Optional. The Azure VM size name. Example: `Standard_DS2_v2`. For available VM sizes, see https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions. When unspecified, it defaults to `Standard_DS2_v2`.
 */
public data class AzureClusterControlPlane(
    public val databaseEncryption: AzureClusterControlPlaneDatabaseEncryption? = null,
    public val mainVolume: AzureClusterControlPlaneMainVolume? = null,
    public val proxyConfig: AzureClusterControlPlaneProxyConfig? = null,
    public val replicaPlacements: List? = null,
    public val rootVolume: AzureClusterControlPlaneRootVolume? = null,
    public val sshConfig: AzureClusterControlPlaneSshConfig,
    public val subnetId: String,
    public val tags: Map? = null,
    public val version: String,
    public val vmSize: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.AzureClusterControlPlane): AzureClusterControlPlane = AzureClusterControlPlane(
            databaseEncryption = javaType.databaseEncryption().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneDatabaseEncryption.Companion.toKotlin(args0)
                })
            }).orElse(null),
            mainVolume = javaType.mainVolume().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneMainVolume.Companion.toKotlin(args0)
                })
            }).orElse(null),
            proxyConfig = javaType.proxyConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneProxyConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            replicaPlacements = javaType.replicaPlacements().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneReplicaPlacement.Companion.toKotlin(args0)
                })
            }),
            rootVolume = javaType.rootVolume().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneRootVolume.Companion.toKotlin(args0)
                })
            }).orElse(null),
            sshConfig = javaType.sshConfig().let({ args0 ->
                com.pulumi.gcp.container.kotlin.outputs.AzureClusterControlPlaneSshConfig.Companion.toKotlin(args0)
            }),
            subnetId = javaType.subnetId(),
            tags = javaType.tags().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            version = javaType.version(),
            vmSize = javaType.vmSize().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy