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

com.pulumi.awsnative.efs.kotlin.inputs.AccessPointPosixUserArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.efs.kotlin.inputs

import com.pulumi.awsnative.efs.inputs.AccessPointPosixUserArgs.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.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * The full POSIX identity, including the user ID, group ID, and any secondary group IDs, on the access point that is used for all file system operations performed by NFS clients using the access point.
 * @property gid The POSIX group ID used for all file system operations using this access point.
 * @property secondaryGids Secondary POSIX group IDs used for all file system operations using this access point.
 * @property uid The POSIX user ID used for all file system operations using this access point.
 */
public data class AccessPointPosixUserArgs(
    public val gid: Output,
    public val secondaryGids: Output>? = null,
    public val uid: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.efs.inputs.AccessPointPosixUserArgs =
        com.pulumi.awsnative.efs.inputs.AccessPointPosixUserArgs.builder()
            .gid(gid.applyValue({ args0 -> args0 }))
            .secondaryGids(secondaryGids?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .uid(uid.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AccessPointPosixUserArgs].
 */
@PulumiTagMarker
public class AccessPointPosixUserArgsBuilder internal constructor() {
    private var gid: Output? = null

    private var secondaryGids: Output>? = null

    private var uid: Output? = null

    /**
     * @param value The POSIX group ID used for all file system operations using this access point.
     */
    @JvmName("kliotnlrfkrumtjh")
    public suspend fun gid(`value`: Output) {
        this.gid = value
    }

    /**
     * @param value Secondary POSIX group IDs used for all file system operations using this access point.
     */
    @JvmName("byuiqpfpjegntmyv")
    public suspend fun secondaryGids(`value`: Output>) {
        this.secondaryGids = value
    }

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

    /**
     * @param values Secondary POSIX group IDs used for all file system operations using this access point.
     */
    @JvmName("pgsnbrpccnkmssex")
    public suspend fun secondaryGids(values: List>) {
        this.secondaryGids = Output.all(values)
    }

    /**
     * @param value The POSIX user ID used for all file system operations using this access point.
     */
    @JvmName("eegjjgqltcfltuxh")
    public suspend fun uid(`value`: Output) {
        this.uid = value
    }

    /**
     * @param value The POSIX group ID used for all file system operations using this access point.
     */
    @JvmName("kvjakdatmwqwlcit")
    public suspend fun gid(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.gid = mapped
    }

    /**
     * @param value Secondary POSIX group IDs used for all file system operations using this access point.
     */
    @JvmName("hiobqykyexunomvg")
    public suspend fun secondaryGids(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secondaryGids = mapped
    }

    /**
     * @param values Secondary POSIX group IDs used for all file system operations using this access point.
     */
    @JvmName("iuvwngjcjcfyjwpe")
    public suspend fun secondaryGids(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secondaryGids = mapped
    }

    /**
     * @param value The POSIX user ID used for all file system operations using this access point.
     */
    @JvmName("udopjbbkbgbopeuh")
    public suspend fun uid(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.uid = mapped
    }

    internal fun build(): AccessPointPosixUserArgs = AccessPointPosixUserArgs(
        gid = gid ?: throw PulumiNullFieldException("gid"),
        secondaryGids = secondaryGids,
        uid = uid ?: throw PulumiNullFieldException("uid"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy