![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.documentdb.kotlin.inputs.NodeGroupSpecArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-kotlin Show documentation
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.azurenative.documentdb.kotlin.inputs
import com.pulumi.azurenative.documentdb.inputs.NodeGroupSpecArgs.builder
import com.pulumi.azurenative.documentdb.kotlin.enums.NodeKind
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Double
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Specification for a node group.
* @property diskSizeGB The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024.
* @property enableHa Whether high availability is enabled on the node group.
* @property kind The node type deployed in the node group.
* @property nodeCount The number of nodes in the node group.
* @property sku The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'.
*/
public data class NodeGroupSpecArgs(
public val diskSizeGB: Output? = null,
public val enableHa: Output? = null,
public val kind: Output>? = null,
public val nodeCount: Output? = null,
public val sku: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.documentdb.inputs.NodeGroupSpecArgs =
com.pulumi.azurenative.documentdb.inputs.NodeGroupSpecArgs.builder()
.diskSizeGB(diskSizeGB?.applyValue({ args0 -> args0 }))
.enableHa(enableHa?.applyValue({ args0 -> args0 }))
.kind(
kind?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.nodeCount(nodeCount?.applyValue({ args0 -> args0 }))
.sku(sku?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [NodeGroupSpecArgs].
*/
@PulumiTagMarker
public class NodeGroupSpecArgsBuilder internal constructor() {
private var diskSizeGB: Output? = null
private var enableHa: Output? = null
private var kind: Output>? = null
private var nodeCount: Output? = null
private var sku: Output? = null
/**
* @param value The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024.
*/
@JvmName("jdntjglautoaqgsj")
public suspend fun diskSizeGB(`value`: Output) {
this.diskSizeGB = value
}
/**
* @param value Whether high availability is enabled on the node group.
*/
@JvmName("qxaifqbnkykroppn")
public suspend fun enableHa(`value`: Output) {
this.enableHa = value
}
/**
* @param value The node type deployed in the node group.
*/
@JvmName("sylldgsycflmnbls")
public suspend fun kind(`value`: Output>) {
this.kind = value
}
/**
* @param value The number of nodes in the node group.
*/
@JvmName("tiejxaxdcbnrjbrw")
public suspend fun nodeCount(`value`: Output) {
this.nodeCount = value
}
/**
* @param value The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'.
*/
@JvmName("xjlhetvyidcshaaf")
public suspend fun sku(`value`: Output) {
this.sku = value
}
/**
* @param value The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024.
*/
@JvmName("jjxjtkoaqgveaatd")
public suspend fun diskSizeGB(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskSizeGB = mapped
}
/**
* @param value Whether high availability is enabled on the node group.
*/
@JvmName("dmeiksspqlndamxm")
public suspend fun enableHa(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableHa = mapped
}
/**
* @param value The node type deployed in the node group.
*/
@JvmName("xrygdjwtpocrqthy")
public suspend fun kind(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kind = mapped
}
/**
* @param value The node type deployed in the node group.
*/
@JvmName("qcervxdplxytmlko")
public fun kind(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kind = mapped
}
/**
* @param value The node type deployed in the node group.
*/
@JvmName("mgvgovnhrbbxrapr")
public fun kind(`value`: NodeKind) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kind = mapped
}
/**
* @param value The number of nodes in the node group.
*/
@JvmName("muckvxgptyhjtrkh")
public suspend fun nodeCount(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nodeCount = mapped
}
/**
* @param value The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'.
*/
@JvmName("dkitmlfbbyoucuyo")
public suspend fun sku(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sku = mapped
}
internal fun build(): NodeGroupSpecArgs = NodeGroupSpecArgs(
diskSizeGB = diskSizeGB,
enableHa = enableHa,
kind = kind,
nodeCount = nodeCount,
sku = sku,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy