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

com.pulumi.awsnative.deadline.kotlin.inputs.FleetCustomerManagedWorkerCapabilitiesArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.deadline.kotlin.inputs

import com.pulumi.awsnative.deadline.inputs.FleetCustomerManagedWorkerCapabilitiesArgs.builder
import com.pulumi.awsnative.deadline.kotlin.enums.FleetAcceleratorType
import com.pulumi.awsnative.deadline.kotlin.enums.FleetCpuArchitectureType
import com.pulumi.awsnative.deadline.kotlin.enums.FleetCustomerManagedFleetOperatingSystemFamily
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.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property acceleratorCount
 * @property acceleratorTotalMemoryMiB
 * @property acceleratorTypes
 * @property cpuArchitectureType
 * @property customAmounts
 * @property customAttributes
 * @property memoryMiB
 * @property osFamily
 * @property vCpuCount
 */
public data class FleetCustomerManagedWorkerCapabilitiesArgs(
    public val acceleratorCount: Output? = null,
    public val acceleratorTotalMemoryMiB: Output? = null,
    public val acceleratorTypes: Output>? = null,
    public val cpuArchitectureType: Output,
    public val customAmounts: Output>? = null,
    public val customAttributes: Output>? = null,
    public val memoryMiB: Output,
    public val osFamily: Output,
    public val vCpuCount: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.deadline.inputs.FleetCustomerManagedWorkerCapabilitiesArgs =
        com.pulumi.awsnative.deadline.inputs.FleetCustomerManagedWorkerCapabilitiesArgs.builder()
            .acceleratorCount(acceleratorCount?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .acceleratorTotalMemoryMiB(
                acceleratorTotalMemoryMiB?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .acceleratorTypes(
                acceleratorTypes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .cpuArchitectureType(
                cpuArchitectureType.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .customAmounts(
                customAmounts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .customAttributes(
                customAttributes?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .memoryMiB(memoryMiB.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .osFamily(osFamily.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .vCpuCount(vCpuCount.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [FleetCustomerManagedWorkerCapabilitiesArgs].
 */
@PulumiTagMarker
public class FleetCustomerManagedWorkerCapabilitiesArgsBuilder internal constructor() {
    private var acceleratorCount: Output? = null

    private var acceleratorTotalMemoryMiB: Output? = null

    private var acceleratorTypes: Output>? = null

    private var cpuArchitectureType: Output? = null

    private var customAmounts: Output>? = null

    private var customAttributes: Output>? = null

    private var memoryMiB: Output? = null

    private var osFamily: Output? = null

    private var vCpuCount: Output? = null

    /**
     * @param value
     */
    @JvmName("vuhwiagwpjhbqmsk")
    public suspend fun acceleratorCount(`value`: Output) {
        this.acceleratorCount = value
    }

    /**
     * @param value
     */
    @JvmName("gkoohhlynrqvvopb")
    public suspend fun acceleratorTotalMemoryMiB(`value`: Output) {
        this.acceleratorTotalMemoryMiB = value
    }

    /**
     * @param value
     */
    @JvmName("qafgqecgqgxcrsqs")
    public suspend fun acceleratorTypes(`value`: Output>) {
        this.acceleratorTypes = value
    }

    @JvmName("srugqoywrcvggkau")
    public suspend fun acceleratorTypes(vararg values: Output) {
        this.acceleratorTypes = Output.all(values.asList())
    }

    /**
     * @param values
     */
    @JvmName("amguprylcbdjyjls")
    public suspend fun acceleratorTypes(values: List>) {
        this.acceleratorTypes = Output.all(values)
    }

    /**
     * @param value
     */
    @JvmName("bhtbajxpvuivnjaj")
    public suspend fun cpuArchitectureType(`value`: Output) {
        this.cpuArchitectureType = value
    }

    /**
     * @param value
     */
    @JvmName("mtumtktggwgoxetv")
    public suspend fun customAmounts(`value`: Output>) {
        this.customAmounts = value
    }

    @JvmName("jdjoriskkirdvypq")
    public suspend fun customAmounts(vararg values: Output) {
        this.customAmounts = Output.all(values.asList())
    }

    /**
     * @param values
     */
    @JvmName("kkjuedkqunddewfq")
    public suspend fun customAmounts(values: List>) {
        this.customAmounts = Output.all(values)
    }

    /**
     * @param value
     */
    @JvmName("ijcntegfbcnvuvmy")
    public suspend fun customAttributes(`value`: Output>) {
        this.customAttributes = value
    }

    @JvmName("nfnoroccbggrikfr")
    public suspend fun customAttributes(vararg values: Output) {
        this.customAttributes = Output.all(values.asList())
    }

    /**
     * @param values
     */
    @JvmName("dfjujnqobqmyjryu")
    public suspend fun customAttributes(values: List>) {
        this.customAttributes = Output.all(values)
    }

    /**
     * @param value
     */
    @JvmName("xksxbbimisbjquwp")
    public suspend fun memoryMiB(`value`: Output) {
        this.memoryMiB = value
    }

    /**
     * @param value
     */
    @JvmName("kbrxgkjfyiuqdofy")
    public suspend fun osFamily(`value`: Output) {
        this.osFamily = value
    }

    /**
     * @param value
     */
    @JvmName("ktkbmftlwujasifu")
    public suspend fun vCpuCount(`value`: Output) {
        this.vCpuCount = value
    }

    /**
     * @param value
     */
    @JvmName("sbhovttgcjvocsdq")
    public suspend fun acceleratorCount(`value`: FleetAcceleratorCountRangeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.acceleratorCount = mapped
    }

    /**
     * @param argument
     */
    @JvmName("xiyuaoecdonttrsk")
    public suspend fun acceleratorCount(argument: suspend FleetAcceleratorCountRangeArgsBuilder.() -> Unit) {
        val toBeMapped = FleetAcceleratorCountRangeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.acceleratorCount = mapped
    }

    /**
     * @param value
     */
    @JvmName("muvvfipaekujeiry")
    public suspend fun acceleratorTotalMemoryMiB(`value`: FleetAcceleratorTotalMemoryMiBRangeArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.acceleratorTotalMemoryMiB = mapped
    }

    /**
     * @param argument
     */
    @JvmName("ecgusybdkehsqvdx")
    public suspend fun acceleratorTotalMemoryMiB(argument: suspend FleetAcceleratorTotalMemoryMiBRangeArgsBuilder.() -> Unit) {
        val toBeMapped = FleetAcceleratorTotalMemoryMiBRangeArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.acceleratorTotalMemoryMiB = mapped
    }

    /**
     * @param value
     */
    @JvmName("lkxuksxvmlubefvo")
    public suspend fun acceleratorTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.acceleratorTypes = mapped
    }

    /**
     * @param values
     */
    @JvmName("aqoihumyrawguqnt")
    public suspend fun acceleratorTypes(vararg values: FleetAcceleratorType) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.acceleratorTypes = mapped
    }

    /**
     * @param value
     */
    @JvmName("kkeeufykbxwbjvnl")
    public suspend fun cpuArchitectureType(`value`: FleetCpuArchitectureType) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cpuArchitectureType = mapped
    }

    /**
     * @param value
     */
    @JvmName("rgbopijljdbhhdld")
    public suspend fun customAmounts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customAmounts = mapped
    }

    /**
     * @param argument
     */
    @JvmName("htxqlncrxcdsyfcp")
    public suspend fun customAmounts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            FleetAmountCapabilityArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customAmounts = mapped
    }

    /**
     * @param argument
     */
    @JvmName("qtbiaskqfxnvmvrf")
    public suspend fun customAmounts(vararg argument: suspend FleetAmountCapabilityArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            FleetAmountCapabilityArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customAmounts = mapped
    }

    /**
     * @param argument
     */
    @JvmName("rxiskkhxtybiucjk")
    public suspend fun customAmounts(argument: suspend FleetAmountCapabilityArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(FleetAmountCapabilityArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.customAmounts = mapped
    }

    /**
     * @param values
     */
    @JvmName("skoqxleyllpcoctn")
    public suspend fun customAmounts(vararg values: FleetAmountCapabilityArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customAmounts = mapped
    }

    /**
     * @param value
     */
    @JvmName("adtckosewbvjeaxm")
    public suspend fun customAttributes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customAttributes = mapped
    }

    /**
     * @param argument
     */
    @JvmName("spahnahuxxrvuubp")
    public suspend fun customAttributes(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            FleetAttributeCapabilityArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customAttributes = mapped
    }

    /**
     * @param argument
     */
    @JvmName("atbseqcvesxrefdd")
    public suspend fun customAttributes(vararg argument: suspend FleetAttributeCapabilityArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            FleetAttributeCapabilityArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.customAttributes = mapped
    }

    /**
     * @param argument
     */
    @JvmName("creaddojpwdmwseg")
    public suspend fun customAttributes(argument: suspend FleetAttributeCapabilityArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            FleetAttributeCapabilityArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.customAttributes = mapped
    }

    /**
     * @param values
     */
    @JvmName("pskmhfirlgypondh")
    public suspend fun customAttributes(vararg values: FleetAttributeCapabilityArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customAttributes = mapped
    }

    /**
     * @param value
     */
    @JvmName("dagareaylerdtevr")
    public suspend fun memoryMiB(`value`: FleetMemoryMiBRangeArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.memoryMiB = mapped
    }

    /**
     * @param argument
     */
    @JvmName("cgxwutatwymnwdxs")
    public suspend fun memoryMiB(argument: suspend FleetMemoryMiBRangeArgsBuilder.() -> Unit) {
        val toBeMapped = FleetMemoryMiBRangeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.memoryMiB = mapped
    }

    /**
     * @param value
     */
    @JvmName("haajbiauovcamcfy")
    public suspend fun osFamily(`value`: FleetCustomerManagedFleetOperatingSystemFamily) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.osFamily = mapped
    }

    /**
     * @param value
     */
    @JvmName("skomqocyempuayft")
    public suspend fun vCpuCount(`value`: FleetVCpuCountRangeArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vCpuCount = mapped
    }

    /**
     * @param argument
     */
    @JvmName("unlvpnrqirncowph")
    public suspend fun vCpuCount(argument: suspend FleetVCpuCountRangeArgsBuilder.() -> Unit) {
        val toBeMapped = FleetVCpuCountRangeArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.vCpuCount = mapped
    }

    internal fun build(): FleetCustomerManagedWorkerCapabilitiesArgs =
        FleetCustomerManagedWorkerCapabilitiesArgs(
            acceleratorCount = acceleratorCount,
            acceleratorTotalMemoryMiB = acceleratorTotalMemoryMiB,
            acceleratorTypes = acceleratorTypes,
            cpuArchitectureType = cpuArchitectureType ?: throw PulumiNullFieldException("cpuArchitectureType"),
            customAmounts = customAmounts,
            customAttributes = customAttributes,
            memoryMiB = memoryMiB ?: throw PulumiNullFieldException("memoryMiB"),
            osFamily = osFamily ?: throw PulumiNullFieldException("osFamily"),
            vCpuCount = vCpuCount ?: throw PulumiNullFieldException("vCpuCount"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy