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.BareMetalNodePoolArgs.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.BareMetalNodePoolArgs.builder
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.BareMetalNodePoolConfigArgs
import com.pulumi.googlenative.gkeonprem.v1.kotlin.inputs.BareMetalNodePoolConfigArgsBuilder
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 bare metal node pool in a given project, location and Bare Metal cluster.
* @property annotations Annotations on the bare metal 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 bareMetalClusterId
* @property bareMetalNodePoolId 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 63 characters, and valid characters are /a-z-/. 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).
* @property displayName The display name for the bare metal 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 bare metal node pool resource name.
* @property nodePoolConfig Node pool configuration.
* @property project
*/
public data class BareMetalNodePoolArgs(
public val annotations: Output>? = null,
public val bareMetalClusterId: Output? = null,
public val bareMetalNodePoolId: Output? = null,
public val displayName: Output? = null,
public val etag: Output? = null,
public val location: Output? = null,
public val name: Output? = null,
public val nodePoolConfig: Output? = null,
public val project: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.gkeonprem.v1.BareMetalNodePoolArgs =
com.pulumi.googlenative.gkeonprem.v1.BareMetalNodePoolArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.bareMetalClusterId(bareMetalClusterId?.applyValue({ args0 -> args0 }))
.bareMetalNodePoolId(bareMetalNodePoolId?.applyValue({ args0 -> args0 }))
.displayName(displayName?.applyValue({ args0 -> args0 }))
.etag(etag?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.nodePoolConfig(nodePoolConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.project(project?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BareMetalNodePoolArgs].
*/
@PulumiTagMarker
public class BareMetalNodePoolArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var bareMetalClusterId: Output? = null
private var bareMetalNodePoolId: Output? = null
private var displayName: Output? = null
private var etag: Output? = null
private var location: Output? = null
private var name: Output? = null
private var nodePoolConfig: Output? = null
private var project: Output? = null
/**
* @param value Annotations on the bare metal 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("bmehkkavgjyybmqc")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value
*/
@JvmName("ufjuxegxdcabcvlb")
public suspend fun bareMetalClusterId(`value`: Output) {
this.bareMetalClusterId = 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 63 characters, and valid characters are /a-z-/. 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("ugkoqosxuuoadsxn")
public suspend fun bareMetalNodePoolId(`value`: Output) {
this.bareMetalNodePoolId = value
}
/**
* @param value The display name for the bare metal node pool.
*/
@JvmName("mhysxircotlubyif")
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("xxmosvmqgpkrvyjd")
public suspend fun etag(`value`: Output) {
this.etag = value
}
/**
* @param value
*/
@JvmName("nuchwapxxdrwaqla")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Immutable. The bare metal node pool resource name.
*/
@JvmName("xjdtqmgikxnefatt")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Node pool configuration.
*/
@JvmName("jafgfwcdbumbisij")
public suspend fun nodePoolConfig(`value`: Output) {
this.nodePoolConfig = value
}
/**
* @param value
*/
@JvmName("icbqpdceixgldbyh")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value Annotations on the bare metal 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("qxmqekeyotundhth")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values Annotations on the bare metal 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("swogevswochpmeml")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value
*/
@JvmName("rvihwsyxpleqpquj")
public suspend fun bareMetalClusterId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bareMetalClusterId = 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 63 characters, and valid characters are /a-z-/. 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("hjprwrycwcaqloea")
public suspend fun bareMetalNodePoolId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bareMetalNodePoolId = mapped
}
/**
* @param value The display name for the bare metal node pool.
*/
@JvmName("uatasjatkwwlfrup")
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("ikwxsphnbygfqmbw")
public suspend fun etag(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.etag = mapped
}
/**
* @param value
*/
@JvmName("paordsabambateec")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Immutable. The bare metal node pool resource name.
*/
@JvmName("ugrfxnkdugmtdhdb")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Node pool configuration.
*/
@JvmName("ydfiqftjmquhfotl")
public suspend fun nodePoolConfig(`value`: BareMetalNodePoolConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nodePoolConfig = mapped
}
/**
* @param argument Node pool configuration.
*/
@JvmName("oqkdgayafiihsklm")
public suspend fun nodePoolConfig(argument: suspend BareMetalNodePoolConfigArgsBuilder.() -> Unit) {
val toBeMapped = BareMetalNodePoolConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.nodePoolConfig = mapped
}
/**
* @param value
*/
@JvmName("derjvndpiekxajix")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
internal fun build(): BareMetalNodePoolArgs = BareMetalNodePoolArgs(
annotations = annotations,
bareMetalClusterId = bareMetalClusterId,
bareMetalNodePoolId = bareMetalNodePoolId,
displayName = displayName,
etag = etag,
location = location,
name = name,
nodePoolConfig = nodePoolConfig,
project = project,
)
}