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

com.pulumi.azure.netapp.kotlin.inputs.VolumeExportPolicyRuleArgs.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: 6.14.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.netapp.kotlin.inputs

import com.pulumi.azure.netapp.inputs.VolumeExportPolicyRuleArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property allowedClients A list of allowed clients IPv4 addresses.
 * @property kerberos5ReadOnlyEnabled Is Kerberos 5 read-only access permitted to this volume?
 * @property kerberos5ReadWriteEnabled Is Kerberos 5 read/write permitted to this volume?
 * @property kerberos5iReadOnlyEnabled Is Kerberos 5i read-only permitted to this volume?
 * @property kerberos5iReadWriteEnabled Is Kerberos 5i read/write permitted to this volume?
 * @property kerberos5pReadOnlyEnabled Is Kerberos 5p read-only permitted to this volume?
 * @property kerberos5pReadWriteEnabled Is Kerberos 5p read/write permitted to this volume?
 * @property protocolsEnabled A list of allowed protocols. Valid values include `CIFS`, `NFSv3`, or `NFSv4.1`. Only one value is supported at this time. This replaces the previous arguments: `cifs_enabled`, `nfsv3_enabled` and `nfsv4_enabled`.
 * @property rootAccessEnabled Is root access permitted to this volume?
 * @property ruleIndex The index number of the rule.
 * @property unixReadOnly Is the file system on unix read only?
 * @property unixReadWrite Is the file system on unix read and write?
 */
public data class VolumeExportPolicyRuleArgs(
    public val allowedClients: Output>,
    public val kerberos5ReadOnlyEnabled: Output? = null,
    public val kerberos5ReadWriteEnabled: Output? = null,
    public val kerberos5iReadOnlyEnabled: Output? = null,
    public val kerberos5iReadWriteEnabled: Output? = null,
    public val kerberos5pReadOnlyEnabled: Output? = null,
    public val kerberos5pReadWriteEnabled: Output? = null,
    public val protocolsEnabled: Output? = null,
    public val rootAccessEnabled: Output? = null,
    public val ruleIndex: Output,
    public val unixReadOnly: Output? = null,
    public val unixReadWrite: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.netapp.inputs.VolumeExportPolicyRuleArgs =
        com.pulumi.azure.netapp.inputs.VolumeExportPolicyRuleArgs.builder()
            .allowedClients(allowedClients.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .kerberos5ReadOnlyEnabled(kerberos5ReadOnlyEnabled?.applyValue({ args0 -> args0 }))
            .kerberos5ReadWriteEnabled(kerberos5ReadWriteEnabled?.applyValue({ args0 -> args0 }))
            .kerberos5iReadOnlyEnabled(kerberos5iReadOnlyEnabled?.applyValue({ args0 -> args0 }))
            .kerberos5iReadWriteEnabled(kerberos5iReadWriteEnabled?.applyValue({ args0 -> args0 }))
            .kerberos5pReadOnlyEnabled(kerberos5pReadOnlyEnabled?.applyValue({ args0 -> args0 }))
            .kerberos5pReadWriteEnabled(kerberos5pReadWriteEnabled?.applyValue({ args0 -> args0 }))
            .protocolsEnabled(protocolsEnabled?.applyValue({ args0 -> args0 }))
            .rootAccessEnabled(rootAccessEnabled?.applyValue({ args0 -> args0 }))
            .ruleIndex(ruleIndex.applyValue({ args0 -> args0 }))
            .unixReadOnly(unixReadOnly?.applyValue({ args0 -> args0 }))
            .unixReadWrite(unixReadWrite?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [VolumeExportPolicyRuleArgs].
 */
@PulumiTagMarker
public class VolumeExportPolicyRuleArgsBuilder internal constructor() {
    private var allowedClients: Output>? = null

    private var kerberos5ReadOnlyEnabled: Output? = null

    private var kerberos5ReadWriteEnabled: Output? = null

    private var kerberos5iReadOnlyEnabled: Output? = null

    private var kerberos5iReadWriteEnabled: Output? = null

    private var kerberos5pReadOnlyEnabled: Output? = null

    private var kerberos5pReadWriteEnabled: Output? = null

    private var protocolsEnabled: Output? = null

    private var rootAccessEnabled: Output? = null

    private var ruleIndex: Output? = null

    private var unixReadOnly: Output? = null

    private var unixReadWrite: Output? = null

    /**
     * @param value A list of allowed clients IPv4 addresses.
     */
    @JvmName("ttkojefugwjhphww")
    public suspend fun allowedClients(`value`: Output>) {
        this.allowedClients = value
    }

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

    /**
     * @param values A list of allowed clients IPv4 addresses.
     */
    @JvmName("yntaqapecwyjqofn")
    public suspend fun allowedClients(values: List>) {
        this.allowedClients = Output.all(values)
    }

    /**
     * @param value Is Kerberos 5 read-only access permitted to this volume?
     */
    @JvmName("tgvkjpfrsmbldvnk")
    public suspend fun kerberos5ReadOnlyEnabled(`value`: Output) {
        this.kerberos5ReadOnlyEnabled = value
    }

    /**
     * @param value Is Kerberos 5 read/write permitted to this volume?
     */
    @JvmName("jnmptdnamuomuwsi")
    public suspend fun kerberos5ReadWriteEnabled(`value`: Output) {
        this.kerberos5ReadWriteEnabled = value
    }

    /**
     * @param value Is Kerberos 5i read-only permitted to this volume?
     */
    @JvmName("sycvxpvwqjprklrn")
    public suspend fun kerberos5iReadOnlyEnabled(`value`: Output) {
        this.kerberos5iReadOnlyEnabled = value
    }

    /**
     * @param value Is Kerberos 5i read/write permitted to this volume?
     */
    @JvmName("fseoupgoksvfpbcg")
    public suspend fun kerberos5iReadWriteEnabled(`value`: Output) {
        this.kerberos5iReadWriteEnabled = value
    }

    /**
     * @param value Is Kerberos 5p read-only permitted to this volume?
     */
    @JvmName("eretskbmlduiafrr")
    public suspend fun kerberos5pReadOnlyEnabled(`value`: Output) {
        this.kerberos5pReadOnlyEnabled = value
    }

    /**
     * @param value Is Kerberos 5p read/write permitted to this volume?
     */
    @JvmName("mfadisdkjkuknexe")
    public suspend fun kerberos5pReadWriteEnabled(`value`: Output) {
        this.kerberos5pReadWriteEnabled = value
    }

    /**
     * @param value A list of allowed protocols. Valid values include `CIFS`, `NFSv3`, or `NFSv4.1`. Only one value is supported at this time. This replaces the previous arguments: `cifs_enabled`, `nfsv3_enabled` and `nfsv4_enabled`.
     */
    @JvmName("ugmravbddreapfnu")
    public suspend fun protocolsEnabled(`value`: Output) {
        this.protocolsEnabled = value
    }

    /**
     * @param value Is root access permitted to this volume?
     */
    @JvmName("iiijxlkkpdjrqfqm")
    public suspend fun rootAccessEnabled(`value`: Output) {
        this.rootAccessEnabled = value
    }

    /**
     * @param value The index number of the rule.
     */
    @JvmName("jmxwsxlkcnlrjtsg")
    public suspend fun ruleIndex(`value`: Output) {
        this.ruleIndex = value
    }

    /**
     * @param value Is the file system on unix read only?
     */
    @JvmName("jyfrnddrmkmjawny")
    public suspend fun unixReadOnly(`value`: Output) {
        this.unixReadOnly = value
    }

    /**
     * @param value Is the file system on unix read and write?
     */
    @JvmName("yvhqufccidwnbrrl")
    public suspend fun unixReadWrite(`value`: Output) {
        this.unixReadWrite = value
    }

    /**
     * @param value A list of allowed clients IPv4 addresses.
     */
    @JvmName("vnwbvfgrwiudlxwv")
    public suspend fun allowedClients(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedClients = mapped
    }

    /**
     * @param values A list of allowed clients IPv4 addresses.
     */
    @JvmName("mqnmlsybelmbaytr")
    public suspend fun allowedClients(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedClients = mapped
    }

    /**
     * @param value Is Kerberos 5 read-only access permitted to this volume?
     */
    @JvmName("elnxbirftxbpceru")
    public suspend fun kerberos5ReadOnlyEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5ReadOnlyEnabled = mapped
    }

    /**
     * @param value Is Kerberos 5 read/write permitted to this volume?
     */
    @JvmName("wecvxjhffebsclfm")
    public suspend fun kerberos5ReadWriteEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5ReadWriteEnabled = mapped
    }

    /**
     * @param value Is Kerberos 5i read-only permitted to this volume?
     */
    @JvmName("lvkeftmfguvaahbm")
    public suspend fun kerberos5iReadOnlyEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5iReadOnlyEnabled = mapped
    }

    /**
     * @param value Is Kerberos 5i read/write permitted to this volume?
     */
    @JvmName("ejabvnsjuxrtoaft")
    public suspend fun kerberos5iReadWriteEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5iReadWriteEnabled = mapped
    }

    /**
     * @param value Is Kerberos 5p read-only permitted to this volume?
     */
    @JvmName("dxcsbtqcaetxkuvr")
    public suspend fun kerberos5pReadOnlyEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5pReadOnlyEnabled = mapped
    }

    /**
     * @param value Is Kerberos 5p read/write permitted to this volume?
     */
    @JvmName("akmxwkjekiyeqkpc")
    public suspend fun kerberos5pReadWriteEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.kerberos5pReadWriteEnabled = mapped
    }

    /**
     * @param value A list of allowed protocols. Valid values include `CIFS`, `NFSv3`, or `NFSv4.1`. Only one value is supported at this time. This replaces the previous arguments: `cifs_enabled`, `nfsv3_enabled` and `nfsv4_enabled`.
     */
    @JvmName("itwhffimucsphyro")
    public suspend fun protocolsEnabled(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.protocolsEnabled = mapped
    }

    /**
     * @param value Is root access permitted to this volume?
     */
    @JvmName("vtcuifldfqckmbdq")
    public suspend fun rootAccessEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rootAccessEnabled = mapped
    }

    /**
     * @param value The index number of the rule.
     */
    @JvmName("cqjcdcckyvwebkbb")
    public suspend fun ruleIndex(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ruleIndex = mapped
    }

    /**
     * @param value Is the file system on unix read only?
     */
    @JvmName("iphviixkxpaegsqw")
    public suspend fun unixReadOnly(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.unixReadOnly = mapped
    }

    /**
     * @param value Is the file system on unix read and write?
     */
    @JvmName("mfbkjdtvqnarmxfj")
    public suspend fun unixReadWrite(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.unixReadWrite = mapped
    }

    internal fun build(): VolumeExportPolicyRuleArgs = VolumeExportPolicyRuleArgs(
        allowedClients = allowedClients ?: throw PulumiNullFieldException("allowedClients"),
        kerberos5ReadOnlyEnabled = kerberos5ReadOnlyEnabled,
        kerberos5ReadWriteEnabled = kerberos5ReadWriteEnabled,
        kerberos5iReadOnlyEnabled = kerberos5iReadOnlyEnabled,
        kerberos5iReadWriteEnabled = kerberos5iReadWriteEnabled,
        kerberos5pReadOnlyEnabled = kerberos5pReadOnlyEnabled,
        kerberos5pReadWriteEnabled = kerberos5pReadWriteEnabled,
        protocolsEnabled = protocolsEnabled,
        rootAccessEnabled = rootAccessEnabled,
        ruleIndex = ruleIndex ?: throw PulumiNullFieldException("ruleIndex"),
        unixReadOnly = unixReadOnly,
        unixReadWrite = unixReadWrite,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy