Please wait. This can take some minutes ...
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.
com.pulumi.gcp.container.kotlin.inputs.AzureNodePoolConfigArgs.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.
@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.AzureNodePoolConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property imageType The OS image type to use on node pool instances.
* @property labels Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
* @property proxyConfig Proxy configuration for outbound HTTP(S) traffic.
* @property rootVolume Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
* @property sshConfig SSH configuration for how to access the node pool machines.
* @property tags Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
* @property vmSize Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`.
*/
public data class AzureNodePoolConfigArgs(
public val imageType: Output? = null,
public val labels: Output>? = null,
public val proxyConfig: Output? = null,
public val rootVolume: Output? = null,
public val sshConfig: Output,
public val tags: Output>? = null,
public val vmSize: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.container.inputs.AzureNodePoolConfigArgs =
com.pulumi.gcp.container.inputs.AzureNodePoolConfigArgs.builder()
.imageType(imageType?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.proxyConfig(proxyConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.rootVolume(rootVolume?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sshConfig(sshConfig.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.vmSize(vmSize?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AzureNodePoolConfigArgs].
*/
@PulumiTagMarker
public class AzureNodePoolConfigArgsBuilder internal constructor() {
private var imageType: Output? = null
private var labels: Output>? = null
private var proxyConfig: Output? = null
private var rootVolume: Output? = null
private var sshConfig: Output? = null
private var tags: Output>? = null
private var vmSize: Output? = null
/**
* @param value The OS image type to use on node pool instances.
*/
@JvmName("ckjslwyhbvbyqbmr")
public suspend fun imageType(`value`: Output) {
this.imageType = value
}
/**
* @param value Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
*/
@JvmName("ocpngffmysmphlea")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value Proxy configuration for outbound HTTP(S) traffic.
*/
@JvmName("rhkdtggtkewpbelh")
public suspend fun proxyConfig(`value`: Output) {
this.proxyConfig = value
}
/**
* @param value Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
*/
@JvmName("pspbnqsdfyujvxdw")
public suspend fun rootVolume(`value`: Output) {
this.rootVolume = value
}
/**
* @param value SSH configuration for how to access the node pool machines.
*/
@JvmName("ajuqenmsictgjkqd")
public suspend fun sshConfig(`value`: Output) {
this.sshConfig = value
}
/**
* @param value Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
*/
@JvmName("qktnugdfwkiaoqdn")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`.
*/
@JvmName("wvqoflsfweusmutg")
public suspend fun vmSize(`value`: Output) {
this.vmSize = value
}
/**
* @param value The OS image type to use on node pool instances.
*/
@JvmName("qovgpqawqwjoxjnf")
public suspend fun imageType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageType = mapped
}
/**
* @param value Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
*/
@JvmName("luguidbbytvfujjs")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
*/
@JvmName("bsfurvdytrixfllk")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value Proxy configuration for outbound HTTP(S) traffic.
*/
@JvmName("wovjbafchcuvsdha")
public suspend fun proxyConfig(`value`: AzureNodePoolConfigProxyConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.proxyConfig = mapped
}
/**
* @param argument Proxy configuration for outbound HTTP(S) traffic.
*/
@JvmName("mbxkqdptwkyrmfnu")
public suspend fun proxyConfig(argument: suspend AzureNodePoolConfigProxyConfigArgsBuilder.() -> Unit) {
val toBeMapped = AzureNodePoolConfigProxyConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.proxyConfig = mapped
}
/**
* @param value Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
*/
@JvmName("ytksyoggeicqskak")
public suspend fun rootVolume(`value`: AzureNodePoolConfigRootVolumeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rootVolume = mapped
}
/**
* @param argument Optional. Configuration related to the root volume provisioned for each node pool machine. When unspecified, it defaults to a 32-GiB Azure Disk.
*/
@JvmName("xgeeihimfkvadkrx")
public suspend fun rootVolume(argument: suspend AzureNodePoolConfigRootVolumeArgsBuilder.() -> Unit) {
val toBeMapped = AzureNodePoolConfigRootVolumeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.rootVolume = mapped
}
/**
* @param value SSH configuration for how to access the node pool machines.
*/
@JvmName("ypqybereyggsdlht")
public suspend fun sshConfig(`value`: AzureNodePoolConfigSshConfigArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.sshConfig = mapped
}
/**
* @param argument SSH configuration for how to access the node pool machines.
*/
@JvmName("mwiftwndsgwroytf")
public suspend fun sshConfig(argument: suspend AzureNodePoolConfigSshConfigArgsBuilder.() -> Unit) {
val toBeMapped = AzureNodePoolConfigSshConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.sshConfig = mapped
}
/**
* @param value Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
*/
@JvmName("xocetfnsoacuiepi")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Optional. A set of tags to apply to all underlying Azure resources for this node pool. This currently only includes Virtual Machine Scale Sets. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters.
*/
@JvmName("mrsfgvvkgamlpdpi")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Optional. The Azure VM size name. Example: `Standard_DS2_v2`. See (/anthos/clusters/docs/azure/reference/supported-vms) for options. When unspecified, it defaults to `Standard_DS2_v2`.
*/
@JvmName("ledfkmyvjrgpiixq")
public suspend fun vmSize(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmSize = mapped
}
internal fun build(): AzureNodePoolConfigArgs = AzureNodePoolConfigArgs(
imageType = imageType,
labels = labels,
proxyConfig = proxyConfig,
rootVolume = rootVolume,
sshConfig = sshConfig ?: throw PulumiNullFieldException("sshConfig"),
tags = tags,
vmSize = vmSize,
)
}