All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.kubernetes.resource.v1alpha3.kotlin.inputs.DeviceRequestAllocationResultArgs.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.

There is a newer version: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.resource.v1alpha3.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kubernetes.resource.v1alpha3.inputs.DeviceRequestAllocationResultArgs.builder
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * DeviceRequestAllocationResult contains the allocation result for one request.
 * @property adminAccess AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
 * This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
 * @property device Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
 * @property driver Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
 * Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
 * @property pool This name together with the driver name and the device name field identify which device was allocated (`//`).
 * Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
 * @property request Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.
 */
public data class DeviceRequestAllocationResultArgs(
    public val adminAccess: Output? = null,
    public val device: Output,
    public val driver: Output,
    public val pool: Output,
    public val request: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.kubernetes.resource.v1alpha3.inputs.DeviceRequestAllocationResultArgs =
        com.pulumi.kubernetes.resource.v1alpha3.inputs.DeviceRequestAllocationResultArgs.builder()
            .adminAccess(adminAccess?.applyValue({ args0 -> args0 }))
            .device(device.applyValue({ args0 -> args0 }))
            .driver(driver.applyValue({ args0 -> args0 }))
            .pool(pool.applyValue({ args0 -> args0 }))
            .request(request.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DeviceRequestAllocationResultArgs].
 */
@PulumiTagMarker
public class DeviceRequestAllocationResultArgsBuilder internal constructor() {
    private var adminAccess: Output? = null

    private var device: Output? = null

    private var driver: Output? = null

    private var pool: Output? = null

    private var request: Output? = null

    /**
     * @param value AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
     * This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
     */
    @JvmName("haphlvjjjqdxlymf")
    public suspend fun adminAccess(`value`: Output) {
        this.adminAccess = value
    }

    /**
     * @param value Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
     */
    @JvmName("bnhlxjyttxtbserc")
    public suspend fun device(`value`: Output) {
        this.device = value
    }

    /**
     * @param value Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
     * Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
     */
    @JvmName("sbixngomvewtanmj")
    public suspend fun driver(`value`: Output) {
        this.driver = value
    }

    /**
     * @param value This name together with the driver name and the device name field identify which device was allocated (`//`).
     * Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
     */
    @JvmName("srvthnyajglttfnt")
    public suspend fun pool(`value`: Output) {
        this.pool = value
    }

    /**
     * @param value Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.
     */
    @JvmName("ihxrnhlwrblkqrvj")
    public suspend fun request(`value`: Output) {
        this.request = value
    }

    /**
     * @param value AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
     * This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
     */
    @JvmName("qskemoshpoykxknx")
    public suspend fun adminAccess(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.adminAccess = mapped
    }

    /**
     * @param value Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
     */
    @JvmName("ebkwawywhoyvdaqc")
    public suspend fun device(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.device = mapped
    }

    /**
     * @param value Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
     * Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
     */
    @JvmName("smgioegcserdnytl")
    public suspend fun driver(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.driver = mapped
    }

    /**
     * @param value This name together with the driver name and the device name field identify which device was allocated (`//`).
     * Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
     */
    @JvmName("ffhjdbhwldopcder")
    public suspend fun pool(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pool = mapped
    }

    /**
     * @param value Request is the name of the request in the claim which caused this device to be allocated. Multiple devices may have been allocated per request.
     */
    @JvmName("jsaiulflrunfnhvh")
    public suspend fun request(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.request = mapped
    }

    internal fun build(): DeviceRequestAllocationResultArgs = DeviceRequestAllocationResultArgs(
        adminAccess = adminAccess,
        device = device ?: throw PulumiNullFieldException("device"),
        driver = driver ?: throw PulumiNullFieldException("driver"),
        pool = pool ?: throw PulumiNullFieldException("pool"),
        request = request ?: throw PulumiNullFieldException("request"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy