![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.storagecache.kotlin.inputs.NfsAccessRuleArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-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.azurenative.storagecache.kotlin.inputs
import com.pulumi.azurenative.storagecache.inputs.NfsAccessRuleArgs.builder
import com.pulumi.azurenative.storagecache.kotlin.enums.NfsAccessRuleAccess
import com.pulumi.azurenative.storagecache.kotlin.enums.NfsAccessRuleScope
import com.pulumi.core.Either
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
/**
* Rule to place restrictions on portions of the cache namespace being presented to clients.
* @property access Access allowed by this rule.
* @property anonymousGID GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.
* @property anonymousUID UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.
* @property filter Filter applied to the scope for this rule. The filter's format depends on its scope. 'default' scope matches all clients and has no filter value. 'network' scope takes a filter in CIDR format (for example, 10.99.1.0/24). 'host' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.
* @property rootSquash Map root accesses to anonymousUID and anonymousGID.
* @property scope Scope for this rule. The scope and filter determine which clients match the rule.
* @property submountAccess For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path '/'. If set to yes, clients can mount a deeper path, like '/a/b'.
* @property suid Allow SUID semantics.
*/
public data class NfsAccessRuleArgs(
public val access: Output>,
public val anonymousGID: Output? = null,
public val anonymousUID: Output? = null,
public val filter: Output? = null,
public val rootSquash: Output? = null,
public val scope: Output>,
public val submountAccess: Output? = null,
public val suid: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.storagecache.inputs.NfsAccessRuleArgs =
com.pulumi.azurenative.storagecache.inputs.NfsAccessRuleArgs.builder()
.access(
access.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.anonymousGID(anonymousGID?.applyValue({ args0 -> args0 }))
.anonymousUID(anonymousUID?.applyValue({ args0 -> args0 }))
.filter(filter?.applyValue({ args0 -> args0 }))
.rootSquash(rootSquash?.applyValue({ args0 -> args0 }))
.scope(
scope.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.submountAccess(submountAccess?.applyValue({ args0 -> args0 }))
.suid(suid?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [NfsAccessRuleArgs].
*/
@PulumiTagMarker
public class NfsAccessRuleArgsBuilder internal constructor() {
private var access: Output>? = null
private var anonymousGID: Output? = null
private var anonymousUID: Output? = null
private var filter: Output? = null
private var rootSquash: Output? = null
private var scope: Output>? = null
private var submountAccess: Output? = null
private var suid: Output? = null
/**
* @param value Access allowed by this rule.
*/
@JvmName("hxqefdthcyauykky")
public suspend fun access(`value`: Output>) {
this.access = value
}
/**
* @param value GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.
*/
@JvmName("ifnpanqhjlvihpjm")
public suspend fun anonymousGID(`value`: Output) {
this.anonymousGID = value
}
/**
* @param value UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.
*/
@JvmName("ufgupsjfpfstaknv")
public suspend fun anonymousUID(`value`: Output) {
this.anonymousUID = value
}
/**
* @param value Filter applied to the scope for this rule. The filter's format depends on its scope. 'default' scope matches all clients and has no filter value. 'network' scope takes a filter in CIDR format (for example, 10.99.1.0/24). 'host' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.
*/
@JvmName("hoeiwvbsmfsdokhf")
public suspend fun filter(`value`: Output) {
this.filter = value
}
/**
* @param value Map root accesses to anonymousUID and anonymousGID.
*/
@JvmName("xlkbjldswgpyuxds")
public suspend fun rootSquash(`value`: Output) {
this.rootSquash = value
}
/**
* @param value Scope for this rule. The scope and filter determine which clients match the rule.
*/
@JvmName("ejmuwiikxfrhitic")
public suspend fun scope(`value`: Output>) {
this.scope = value
}
/**
* @param value For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path '/'. If set to yes, clients can mount a deeper path, like '/a/b'.
*/
@JvmName("mivkblprhxojkklf")
public suspend fun submountAccess(`value`: Output) {
this.submountAccess = value
}
/**
* @param value Allow SUID semantics.
*/
@JvmName("qwticfudmsjopsjy")
public suspend fun suid(`value`: Output) {
this.suid = value
}
/**
* @param value Access allowed by this rule.
*/
@JvmName("ajsjfcjvrbempfdx")
public suspend fun access(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.access = mapped
}
/**
* @param value Access allowed by this rule.
*/
@JvmName("nwhuhnxgnqipmgfo")
public fun access(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.access = mapped
}
/**
* @param value Access allowed by this rule.
*/
@JvmName("iliqkpffllvmotei")
public fun access(`value`: NfsAccessRuleAccess) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.access = mapped
}
/**
* @param value GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.
*/
@JvmName("juobhhdgwungxkir")
public suspend fun anonymousGID(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.anonymousGID = mapped
}
/**
* @param value UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.
*/
@JvmName("ruoidqvfoixgoqkx")
public suspend fun anonymousUID(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.anonymousUID = mapped
}
/**
* @param value Filter applied to the scope for this rule. The filter's format depends on its scope. 'default' scope matches all clients and has no filter value. 'network' scope takes a filter in CIDR format (for example, 10.99.1.0/24). 'host' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.
*/
@JvmName("hkpdsirgtjpvvgpr")
public suspend fun filter(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.filter = mapped
}
/**
* @param value Map root accesses to anonymousUID and anonymousGID.
*/
@JvmName("koejijnejmmyashm")
public suspend fun rootSquash(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rootSquash = mapped
}
/**
* @param value Scope for this rule. The scope and filter determine which clients match the rule.
*/
@JvmName("basuamwlelqpqvfj")
public suspend fun scope(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.scope = mapped
}
/**
* @param value Scope for this rule. The scope and filter determine which clients match the rule.
*/
@JvmName("djmlhsunqoyfaukv")
public fun scope(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.scope = mapped
}
/**
* @param value Scope for this rule. The scope and filter determine which clients match the rule.
*/
@JvmName("ofsdggadswhpkxyu")
public fun scope(`value`: NfsAccessRuleScope) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.scope = mapped
}
/**
* @param value For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path '/'. If set to yes, clients can mount a deeper path, like '/a/b'.
*/
@JvmName("bpnuowxjnsvojnft")
public suspend fun submountAccess(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.submountAccess = mapped
}
/**
* @param value Allow SUID semantics.
*/
@JvmName("qqsdmcpdjfmaahwl")
public suspend fun suid(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.suid = mapped
}
internal fun build(): NfsAccessRuleArgs = NfsAccessRuleArgs(
access = access ?: throw PulumiNullFieldException("access"),
anonymousGID = anonymousGID,
anonymousUID = anonymousUID,
filter = filter,
rootSquash = rootSquash,
scope = scope ?: throw PulumiNullFieldException("scope"),
submountAccess = submountAccess,
suid = suid,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy