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.googlenative.gkeonprem.v1.kotlin.VmwareNodePoolArgs.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.googlenative.gkeonprem.v1.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.gkeonprem.v1.VmwareNodePoolArgs.builder
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.VmwareNodeConfigArgs
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.VmwareNodeConfigArgsBuilder
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.VmwareNodePoolAutoscalingConfigArgs
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.VmwareNodePoolAutoscalingConfigArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
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
/**
* Creates a new VMware node pool in a given project, location and VMWare cluster.
* @property annotations Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
* @property config The node configuration of the node pool.
* @property displayName The display name for the node pool.
* @property etag This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control.
* @property location
* @property name Immutable. The resource name of this node pool.
* @property nodePoolAutoscaling Node pool autoscaling config for the node pool.
* @property onPremVersion Anthos version for the node pool. Defaults to the user cluster version.
* @property project
* @property vmwareClusterId
* @property vmwareNodePoolId The ID to use for the node pool, which will become the final component of the node pool's resource name. This value must be up to 40 characters and follow RFC-1123 (https://tools.ietf.org/html/rfc1123) format. The value must not be permitted to be a UUID (or UUID-like: anything matching /^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i).
*/
public data class VmwareNodePoolArgs(
public val annotations: Output>? = null,
public val config: Output? = null,
public val displayName: Output? = null,
public val etag: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val nodePoolAutoscaling: Output? = null,
public val onPremVersion: Output? = null,
public val project: Output? = null,
public val vmwareClusterId: Output? = null,
public val vmwareNodePoolId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.gkeonprem.v1.VmwareNodePoolArgs =
com.pulumi.googlenative.gkeonprem.v1.VmwareNodePoolArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.config(config?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.displayName(displayName?.applyValue({ args0 -> args0 }))
.etag(etag?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.nodePoolAutoscaling(
nodePoolAutoscaling?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.onPremVersion(onPremVersion?.applyValue({ args0 -> args0 }))
.project(project?.applyValue({ args0 -> args0 }))
.vmwareClusterId(vmwareClusterId?.applyValue({ args0 -> args0 }))
.vmwareNodePoolId(vmwareNodePoolId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [VmwareNodePoolArgs].
*/
@PulumiTagMarker
public class VmwareNodePoolArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var config: Output? = null
private var displayName: Output? = null
private var etag: Output? = null
private var location: Output? = null
private var name: Output? = null
private var nodePoolAutoscaling: Output? = null
private var onPremVersion: Output? = null
private var project: Output? = null
private var vmwareClusterId: Output? = null
private var vmwareNodePoolId: Output? = null
/**
* @param value Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
*/
@JvmName("ibhdbnrnfxolnmvx")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value The node configuration of the node pool.
*/
@JvmName("xsvjhviraieexrpw")
public suspend fun config(`value`: Output) {
this.config = value
}
/**
* @param value The display name for the node pool.
*/
@JvmName("cpiefhfhbcjqfkqh")
public suspend fun displayName(`value`: Output) {
this.displayName = value
}
/**
* @param value This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control.
*/
@JvmName("wkfyxlusrfaxerwc")
public suspend fun etag(`value`: Output) {
this.etag = value
}
/**
* @param value
*/
@JvmName("vgxqpdkvxoikohwq")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Immutable. The resource name of this node pool.
*/
@JvmName("kwcmvalacmjyvlya")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Node pool autoscaling config for the node pool.
*/
@JvmName("nfahpyhwjrtrhhfx")
public suspend fun nodePoolAutoscaling(`value`: Output) {
this.nodePoolAutoscaling = value
}
/**
* @param value Anthos version for the node pool. Defaults to the user cluster version.
*/
@JvmName("isiaeukofhrbqosc")
public suspend fun onPremVersion(`value`: Output) {
this.onPremVersion = value
}
/**
* @param value
*/
@JvmName("healiotydttlpvja")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value
*/
@JvmName("nfoijdnsxirkanxi")
public suspend fun vmwareClusterId(`value`: Output) {
this.vmwareClusterId = value
}
/**
* @param value The ID to use for the node pool, which will become the final component of the node pool's resource name. This value must be up to 40 characters and follow RFC-1123 (https://tools.ietf.org/html/rfc1123) format. The value must not be permitted to be a UUID (or UUID-like: anything matching /^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i).
*/
@JvmName("fxpnvohymratbgoh")
public suspend fun vmwareNodePoolId(`value`: Output) {
this.vmwareNodePoolId = value
}
/**
* @param value Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
*/
@JvmName("dyiapyxleadubvwo")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.
*/
@JvmName("tphmicpalrlxuifx")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value The node configuration of the node pool.
*/
@JvmName("ybowylnnfxowtmia")
public suspend fun config(`value`: VmwareNodeConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.config = mapped
}
/**
* @param argument The node configuration of the node pool.
*/
@JvmName("eoddeocbedbtfdhy")
public suspend fun config(argument: suspend VmwareNodeConfigArgsBuilder.() -> Unit) {
val toBeMapped = VmwareNodeConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.config = mapped
}
/**
* @param value The display name for the node pool.
*/
@JvmName("jjlpqxyoorenffdu")
public suspend fun displayName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.displayName = mapped
}
/**
* @param value This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. Allows clients to perform consistent read-modify-writes through optimistic concurrency control.
*/
@JvmName("ldfushmwvgrtprbr")
public suspend fun etag(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.etag = mapped
}
/**
* @param value
*/
@JvmName("whpjnpvohdeuyipf")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Immutable. The resource name of this node pool.
*/
@JvmName("ssoblkusbuwadbdy")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Node pool autoscaling config for the node pool.
*/
@JvmName("kqboqoytxbciphrq")
public suspend fun nodePoolAutoscaling(`value`: VmwareNodePoolAutoscalingConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nodePoolAutoscaling = mapped
}
/**
* @param argument Node pool autoscaling config for the node pool.
*/
@JvmName("ynuydplubxnfhfcr")
public suspend fun nodePoolAutoscaling(argument: suspend VmwareNodePoolAutoscalingConfigArgsBuilder.() -> Unit) {
val toBeMapped = VmwareNodePoolAutoscalingConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.nodePoolAutoscaling = mapped
}
/**
* @param value Anthos version for the node pool. Defaults to the user cluster version.
*/
@JvmName("hhglacectjixnvfy")
public suspend fun onPremVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.onPremVersion = mapped
}
/**
* @param value
*/
@JvmName("bcsjqmpfnkoeihue")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value
*/
@JvmName("bwffjrqrtiwavcsn")
public suspend fun vmwareClusterId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmwareClusterId = mapped
}
/**
* @param value The ID to use for the node pool, which will become the final component of the node pool's resource name. This value must be up to 40 characters and follow RFC-1123 (https://tools.ietf.org/html/rfc1123) format. The value must not be permitted to be a UUID (or UUID-like: anything matching /^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i).
*/
@JvmName("qoaynrkgrhdmovii")
public suspend fun vmwareNodePoolId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmwareNodePoolId = mapped
}
internal fun build(): VmwareNodePoolArgs = VmwareNodePoolArgs(
annotations = annotations,
config = config,
displayName = displayName,
etag = etag,
location = location,
name = name,
nodePoolAutoscaling = nodePoolAutoscaling,
onPremVersion = onPremVersion,
project = project,
vmwareClusterId = vmwareClusterId,
vmwareNodePoolId = vmwareNodePoolId,
)
}