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

com.pulumi.vault.github.kotlin.inputs.AuthBackendTuneArgs.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.4.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.vault.github.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.vault.github.inputs.AuthBackendTuneArgs.builder
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property allowedResponseHeaders List of headers to whitelist and allowing
 * a plugin to include them in the response.
 * @property auditNonHmacRequestKeys Specifies the list of keys that will
 * not be HMAC'd by audit devices in the request data object.
 * @property auditNonHmacResponseKeys Specifies the list of keys that will
 * not be HMAC'd by audit devices in the response data object.
 * @property defaultLeaseTtl Specifies the default time-to-live.
 * If set, this overrides the global default.
 * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
 * @property listingVisibility Specifies whether to show this mount in
 * the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
 * @property maxLeaseTtl Specifies the maximum time-to-live.
 * If set, this overrides the global default.
 * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
 * @property passthroughRequestHeaders List of headers to whitelist and
 * pass from the request to the backend.
 * @property tokenType Specifies the type of tokens that should be returned by
 * the mount. Valid values are "default-service", "default-batch", "service", "batch".
 */
public data class AuthBackendTuneArgs(
    public val allowedResponseHeaders: Output>? = null,
    public val auditNonHmacRequestKeys: Output>? = null,
    public val auditNonHmacResponseKeys: Output>? = null,
    public val defaultLeaseTtl: Output? = null,
    public val listingVisibility: Output? = null,
    public val maxLeaseTtl: Output? = null,
    public val passthroughRequestHeaders: Output>? = null,
    public val tokenType: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.vault.github.inputs.AuthBackendTuneArgs =
        com.pulumi.vault.github.inputs.AuthBackendTuneArgs.builder()
            .allowedResponseHeaders(
                allowedResponseHeaders?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .auditNonHmacRequestKeys(
                auditNonHmacRequestKeys?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .auditNonHmacResponseKeys(
                auditNonHmacResponseKeys?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .defaultLeaseTtl(defaultLeaseTtl?.applyValue({ args0 -> args0 }))
            .listingVisibility(listingVisibility?.applyValue({ args0 -> args0 }))
            .maxLeaseTtl(maxLeaseTtl?.applyValue({ args0 -> args0 }))
            .passthroughRequestHeaders(
                passthroughRequestHeaders?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .tokenType(tokenType?.applyValue({ args0 -> args0 })).build()
}

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

    private var auditNonHmacRequestKeys: Output>? = null

    private var auditNonHmacResponseKeys: Output>? = null

    private var defaultLeaseTtl: Output? = null

    private var listingVisibility: Output? = null

    private var maxLeaseTtl: Output? = null

    private var passthroughRequestHeaders: Output>? = null

    private var tokenType: Output? = null

    /**
     * @param value List of headers to whitelist and allowing
     * a plugin to include them in the response.
     */
    @JvmName("bmgmdlaoocletjph")
    public suspend fun allowedResponseHeaders(`value`: Output>) {
        this.allowedResponseHeaders = value
    }

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

    /**
     * @param values List of headers to whitelist and allowing
     * a plugin to include them in the response.
     */
    @JvmName("tcxtgkucfbcjpwep")
    public suspend fun allowedResponseHeaders(values: List>) {
        this.allowedResponseHeaders = Output.all(values)
    }

    /**
     * @param value Specifies the list of keys that will
     * not be HMAC'd by audit devices in the request data object.
     */
    @JvmName("xklyjgavqnodohhu")
    public suspend fun auditNonHmacRequestKeys(`value`: Output>) {
        this.auditNonHmacRequestKeys = value
    }

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

    /**
     * @param values Specifies the list of keys that will
     * not be HMAC'd by audit devices in the request data object.
     */
    @JvmName("qqjanncdycoxetdc")
    public suspend fun auditNonHmacRequestKeys(values: List>) {
        this.auditNonHmacRequestKeys = Output.all(values)
    }

    /**
     * @param value Specifies the list of keys that will
     * not be HMAC'd by audit devices in the response data object.
     */
    @JvmName("yxrnrbongmcynkqg")
    public suspend fun auditNonHmacResponseKeys(`value`: Output>) {
        this.auditNonHmacResponseKeys = value
    }

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

    /**
     * @param values Specifies the list of keys that will
     * not be HMAC'd by audit devices in the response data object.
     */
    @JvmName("ubiesrbkuypxsvgw")
    public suspend fun auditNonHmacResponseKeys(values: List>) {
        this.auditNonHmacResponseKeys = Output.all(values)
    }

    /**
     * @param value Specifies the default time-to-live.
     * If set, this overrides the global default.
     * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
     */
    @JvmName("pbdpwbdnuoldqtrh")
    public suspend fun defaultLeaseTtl(`value`: Output) {
        this.defaultLeaseTtl = value
    }

    /**
     * @param value Specifies whether to show this mount in
     * the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
     */
    @JvmName("lfuqfnldelyglwnq")
    public suspend fun listingVisibility(`value`: Output) {
        this.listingVisibility = value
    }

    /**
     * @param value Specifies the maximum time-to-live.
     * If set, this overrides the global default.
     * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
     */
    @JvmName("qnegwkllmannibwo")
    public suspend fun maxLeaseTtl(`value`: Output) {
        this.maxLeaseTtl = value
    }

    /**
     * @param value List of headers to whitelist and
     * pass from the request to the backend.
     */
    @JvmName("liiqmjdlahynsnkx")
    public suspend fun passthroughRequestHeaders(`value`: Output>) {
        this.passthroughRequestHeaders = value
    }

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

    /**
     * @param values List of headers to whitelist and
     * pass from the request to the backend.
     */
    @JvmName("pmkatpripehpsmmb")
    public suspend fun passthroughRequestHeaders(values: List>) {
        this.passthroughRequestHeaders = Output.all(values)
    }

    /**
     * @param value Specifies the type of tokens that should be returned by
     * the mount. Valid values are "default-service", "default-batch", "service", "batch".
     */
    @JvmName("ipaeoqvmdvahcafk")
    public suspend fun tokenType(`value`: Output) {
        this.tokenType = value
    }

    /**
     * @param value List of headers to whitelist and allowing
     * a plugin to include them in the response.
     */
    @JvmName("jeuhqjcccyeugotn")
    public suspend fun allowedResponseHeaders(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowedResponseHeaders = mapped
    }

    /**
     * @param values List of headers to whitelist and allowing
     * a plugin to include them in the response.
     */
    @JvmName("jrqcswveaijynevv")
    public suspend fun allowedResponseHeaders(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedResponseHeaders = mapped
    }

    /**
     * @param value Specifies the list of keys that will
     * not be HMAC'd by audit devices in the request data object.
     */
    @JvmName("qwlijmdhpwopmoey")
    public suspend fun auditNonHmacRequestKeys(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.auditNonHmacRequestKeys = mapped
    }

    /**
     * @param values Specifies the list of keys that will
     * not be HMAC'd by audit devices in the request data object.
     */
    @JvmName("wrqrkrdhlmtccdwa")
    public suspend fun auditNonHmacRequestKeys(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.auditNonHmacRequestKeys = mapped
    }

    /**
     * @param value Specifies the list of keys that will
     * not be HMAC'd by audit devices in the response data object.
     */
    @JvmName("twedfpcfukutualh")
    public suspend fun auditNonHmacResponseKeys(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.auditNonHmacResponseKeys = mapped
    }

    /**
     * @param values Specifies the list of keys that will
     * not be HMAC'd by audit devices in the response data object.
     */
    @JvmName("tdltgabpsnuckhfc")
    public suspend fun auditNonHmacResponseKeys(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.auditNonHmacResponseKeys = mapped
    }

    /**
     * @param value Specifies the default time-to-live.
     * If set, this overrides the global default.
     * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
     */
    @JvmName("tuvuemelvbbudmlt")
    public suspend fun defaultLeaseTtl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultLeaseTtl = mapped
    }

    /**
     * @param value Specifies whether to show this mount in
     * the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
     */
    @JvmName("hnsbsotbappfpfpb")
    public suspend fun listingVisibility(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.listingVisibility = mapped
    }

    /**
     * @param value Specifies the maximum time-to-live.
     * If set, this overrides the global default.
     * Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
     */
    @JvmName("jcrfkbplxtwjbhmq")
    public suspend fun maxLeaseTtl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxLeaseTtl = mapped
    }

    /**
     * @param value List of headers to whitelist and
     * pass from the request to the backend.
     */
    @JvmName("qfedjphnutadthvl")
    public suspend fun passthroughRequestHeaders(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.passthroughRequestHeaders = mapped
    }

    /**
     * @param values List of headers to whitelist and
     * pass from the request to the backend.
     */
    @JvmName("eicoksstqiavusss")
    public suspend fun passthroughRequestHeaders(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.passthroughRequestHeaders = mapped
    }

    /**
     * @param value Specifies the type of tokens that should be returned by
     * the mount. Valid values are "default-service", "default-batch", "service", "batch".
     */
    @JvmName("qpqcaxreblhcbnfe")
    public suspend fun tokenType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tokenType = mapped
    }

    internal fun build(): AuthBackendTuneArgs = AuthBackendTuneArgs(
        allowedResponseHeaders = allowedResponseHeaders,
        auditNonHmacRequestKeys = auditNonHmacRequestKeys,
        auditNonHmacResponseKeys = auditNonHmacResponseKeys,
        defaultLeaseTtl = defaultLeaseTtl,
        listingVisibility = listingVisibility,
        maxLeaseTtl = maxLeaseTtl,
        passthroughRequestHeaders = passthroughRequestHeaders,
        tokenType = tokenType,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy