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

com.pulumi.alicloud.emrv2.kotlin.inputs.ClusterNodeAttributeArgs.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: 3.62.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.alicloud.emrv2.kotlin.inputs

import com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs.builder
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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property dataDiskEncrypted Whether to enable data disk encryption.
 * @property dataDiskKmsKeyId The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
 * @property keyPairName The name of the key pair.
 * @property ramRole Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
 * @property securityGroupId Security Group ID for Cluster.
 * @property vpcId Used to retrieve instances belong to specified VPC.
 * @property zoneId Zone ID, e.g. cn-hangzhou-i
 */
public data class ClusterNodeAttributeArgs(
    public val dataDiskEncrypted: Output? = null,
    public val dataDiskKmsKeyId: Output? = null,
    public val keyPairName: Output,
    public val ramRole: Output,
    public val securityGroupId: Output,
    public val vpcId: Output,
    public val zoneId: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs =
        com.pulumi.alicloud.emrv2.inputs.ClusterNodeAttributeArgs.builder()
            .dataDiskEncrypted(dataDiskEncrypted?.applyValue({ args0 -> args0 }))
            .dataDiskKmsKeyId(dataDiskKmsKeyId?.applyValue({ args0 -> args0 }))
            .keyPairName(keyPairName.applyValue({ args0 -> args0 }))
            .ramRole(ramRole.applyValue({ args0 -> args0 }))
            .securityGroupId(securityGroupId.applyValue({ args0 -> args0 }))
            .vpcId(vpcId.applyValue({ args0 -> args0 }))
            .zoneId(zoneId.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ClusterNodeAttributeArgs].
 */
@PulumiTagMarker
public class ClusterNodeAttributeArgsBuilder internal constructor() {
    private var dataDiskEncrypted: Output? = null

    private var dataDiskKmsKeyId: Output? = null

    private var keyPairName: Output? = null

    private var ramRole: Output? = null

    private var securityGroupId: Output? = null

    private var vpcId: Output? = null

    private var zoneId: Output? = null

    /**
     * @param value Whether to enable data disk encryption.
     */
    @JvmName("jbraawlqtcpimwvg")
    public suspend fun dataDiskEncrypted(`value`: Output) {
        this.dataDiskEncrypted = value
    }

    /**
     * @param value The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
     */
    @JvmName("nqbxcjpdpvjamyfl")
    public suspend fun dataDiskKmsKeyId(`value`: Output) {
        this.dataDiskKmsKeyId = value
    }

    /**
     * @param value The name of the key pair.
     */
    @JvmName("atedqwteaxigimme")
    public suspend fun keyPairName(`value`: Output) {
        this.keyPairName = value
    }

    /**
     * @param value Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
     */
    @JvmName("qdobfjvlfmdsjkyd")
    public suspend fun ramRole(`value`: Output) {
        this.ramRole = value
    }

    /**
     * @param value Security Group ID for Cluster.
     */
    @JvmName("qlfuhfxufpiywhpm")
    public suspend fun securityGroupId(`value`: Output) {
        this.securityGroupId = value
    }

    /**
     * @param value Used to retrieve instances belong to specified VPC.
     */
    @JvmName("dhbrskjnrwpogxft")
    public suspend fun vpcId(`value`: Output) {
        this.vpcId = value
    }

    /**
     * @param value Zone ID, e.g. cn-hangzhou-i
     */
    @JvmName("ibubxyjpgygridge")
    public suspend fun zoneId(`value`: Output) {
        this.zoneId = value
    }

    /**
     * @param value Whether to enable data disk encryption.
     */
    @JvmName("xovuetjchdenlsee")
    public suspend fun dataDiskEncrypted(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataDiskEncrypted = mapped
    }

    /**
     * @param value The kms key id used to encrypt the data disk. It takes effect when data_disk_encrypted is true.
     */
    @JvmName("wfufgxjmiwmujpna")
    public suspend fun dataDiskKmsKeyId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataDiskKmsKeyId = mapped
    }

    /**
     * @param value The name of the key pair.
     */
    @JvmName("vtijrkjyfvdxfper")
    public suspend fun keyPairName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.keyPairName = mapped
    }

    /**
     * @param value Alicloud EMR uses roles to perform actions on your behalf when provisioning cluster resources, running applications, dynamically scaling resources. EMR uses the following roles when interacting with other Alicloud services. Default value is AliyunEmrEcsDefaultRole.
     */
    @JvmName("nofbdwliyhgdjdju")
    public suspend fun ramRole(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ramRole = mapped
    }

    /**
     * @param value Security Group ID for Cluster.
     */
    @JvmName("icrewrfqxumdjrar")
    public suspend fun securityGroupId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.securityGroupId = mapped
    }

    /**
     * @param value Used to retrieve instances belong to specified VPC.
     */
    @JvmName("wdwtvxthnpyjnoqm")
    public suspend fun vpcId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpcId = mapped
    }

    /**
     * @param value Zone ID, e.g. cn-hangzhou-i
     */
    @JvmName("cmcrwkcoowopuijr")
    public suspend fun zoneId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.zoneId = mapped
    }

    internal fun build(): ClusterNodeAttributeArgs = ClusterNodeAttributeArgs(
        dataDiskEncrypted = dataDiskEncrypted,
        dataDiskKmsKeyId = dataDiskKmsKeyId,
        keyPairName = keyPairName ?: throw PulumiNullFieldException("keyPairName"),
        ramRole = ramRole ?: throw PulumiNullFieldException("ramRole"),
        securityGroupId = securityGroupId ?: throw PulumiNullFieldException("securityGroupId"),
        vpcId = vpcId ?: throw PulumiNullFieldException("vpcId"),
        zoneId = zoneId ?: throw PulumiNullFieldException("zoneId"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy