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

com.pulumi.vault.kv.kotlin.inputs.GetSecretSubkeysV2PlainArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.vault.kv.kotlin.inputs

import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.vault.kv.inputs.GetSecretSubkeysV2PlainArgs.builder
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * A collection of arguments for invoking getSecretSubkeysV2.
 * @property depth Specifies the deepest nesting level to provide in the output.
 * If non-zero, keys that reside at the specified depth value will be
 * artificially treated as leaves and will thus be `null` even if further
 * underlying sub-keys exist.
 * @property mount Path where KV-V2 engine is mounted.
 * @property name Full name of the secret. For a nested secret
 * the name is the nested path excluding the mount and data
 * prefix. For example, for a secret at `kvv2/data/foo/bar/baz`
 * the name is `foo/bar/baz`.
 * @property namespace The namespace of the target resource.
 * The value should not contain leading or trailing forward slashes.
 * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
 * *Available only for Vault Enterprise*.
 * @property version Specifies the version to return. If not
 * set the latest version is returned.
 */
public data class GetSecretSubkeysV2PlainArgs(
    public val depth: Int? = null,
    public val mount: String,
    public val name: String,
    public val namespace: String? = null,
    public val version: Int? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.vault.kv.inputs.GetSecretSubkeysV2PlainArgs =
        com.pulumi.vault.kv.inputs.GetSecretSubkeysV2PlainArgs.builder()
            .depth(depth?.let({ args0 -> args0 }))
            .mount(mount.let({ args0 -> args0 }))
            .name(name.let({ args0 -> args0 }))
            .namespace(namespace?.let({ args0 -> args0 }))
            .version(version?.let({ args0 -> args0 })).build()
}

/**
 * Builder for [GetSecretSubkeysV2PlainArgs].
 */
@PulumiTagMarker
public class GetSecretSubkeysV2PlainArgsBuilder internal constructor() {
    private var depth: Int? = null

    private var mount: String? = null

    private var name: String? = null

    private var namespace: String? = null

    private var version: Int? = null

    /**
     * @param value Specifies the deepest nesting level to provide in the output.
     * If non-zero, keys that reside at the specified depth value will be
     * artificially treated as leaves and will thus be `null` even if further
     * underlying sub-keys exist.
     */
    @JvmName("bvajjkoxjjpuurdx")
    public suspend fun depth(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> args0 })
        this.depth = mapped
    }

    /**
     * @param value Path where KV-V2 engine is mounted.
     */
    @JvmName("wclbohbgcensslgm")
    public suspend fun mount(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.mount = mapped
    }

    /**
     * @param value Full name of the secret. For a nested secret
     * the name is the nested path excluding the mount and data
     * prefix. For example, for a secret at `kvv2/data/foo/bar/baz`
     * the name is `foo/bar/baz`.
     */
    @JvmName("clunevurrwdlvuee")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.name = mapped
    }

    /**
     * @param value The namespace of the target resource.
     * The value should not contain leading or trailing forward slashes.
     * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
     * *Available only for Vault Enterprise*.
     */
    @JvmName("ndbyraswnilglmus")
    public suspend fun namespace(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> args0 })
        this.namespace = mapped
    }

    /**
     * @param value Specifies the version to return. If not
     * set the latest version is returned.
     */
    @JvmName("uykeilihlwbxniry")
    public suspend fun version(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> args0 })
        this.version = mapped
    }

    internal fun build(): GetSecretSubkeysV2PlainArgs = GetSecretSubkeysV2PlainArgs(
        depth = depth,
        mount = mount ?: throw PulumiNullFieldException("mount"),
        name = name ?: throw PulumiNullFieldException("name"),
        namespace = namespace,
        version = version,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy