com.pulumi.kubernetes.resource.v1alpha3.kotlin.outputs.DeviceClassSpec.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-kubernetes-kotlin Show documentation
Show all versions of pulumi-kubernetes-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.kubernetes.resource.v1alpha3.kotlin.outputs
import com.pulumi.kubernetes.core.v1.kotlin.outputs.NodeSelector
import kotlin.Suppress
import kotlin.collections.List
/**
* DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.
* @property config Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.
* They are passed to the driver, but are not considered while allocating the claim.
* @property selectors Each selector must be satisfied by a device which is claimed via this class.
* @property suitableNodes Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a claim that has not been allocated yet *and* that claim gets allocated through a control plane controller. It is ignored when the claim does not use a control plane controller for allocation.
* Setting this field is optional. If unset, all Nodes are candidates.
* This is an alpha field and requires enabling the DRAControlPlaneController feature gate.
*/
public data class DeviceClassSpec(
public val config: List? = null,
public val selectors: List? = null,
public val suitableNodes: NodeSelector? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.kubernetes.resource.v1alpha3.outputs.DeviceClassSpec): DeviceClassSpec = DeviceClassSpec(
config = javaType.config().map({ args0 ->
args0.let({ args0 ->
com.pulumi.kubernetes.resource.v1alpha3.kotlin.outputs.DeviceClassConfiguration.Companion.toKotlin(args0)
})
}),
selectors = javaType.selectors().map({ args0 ->
args0.let({ args0 ->
com.pulumi.kubernetes.resource.v1alpha3.kotlin.outputs.DeviceSelector.Companion.toKotlin(args0)
})
}),
suitableNodes = javaType.suitableNodes().map({ args0 ->
args0.let({ args0 ->
com.pulumi.kubernetes.core.v1.kotlin.outputs.NodeSelector.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy