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

com.pulumi.nomad.kotlin.ProviderArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.nomad.kotlin

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import com.pulumi.nomad.ProviderArgs.builder
import com.pulumi.nomad.kotlin.inputs.ProviderHeaderArgs
import com.pulumi.nomad.kotlin.inputs.ProviderHeaderArgsBuilder
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The provider type for the nomad package. By default, resources use package-wide configuration
 * settings, however an explicit `Provider` instance may be created and passed during resource
 * construction to achieve fine-grained programmatic control over provider settings. See the
 * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
 * @property address URL of the root of the target Nomad agent.
 * @property caFile A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
 * @property caPem PEM-encoded certificate authority used to verify the remote agent's certificate.
 * @property certFile A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
 * @property certPem PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
 * @property consulToken Consul token to validate Consul Connect Service Identity policies specified in the job file.
 * @property headers The headers to send with each Nomad request.
 * @property httpAuth HTTP basic auth configuration.
 * @property ignoreEnvVars A set of environment variables that are ignored by the provider when configuring the Nomad API client.
 * @property keyFile A path to a PEM-encoded private key, required if cert_file or cert_pem is specified.
 * @property keyPem PEM-encoded private key, required if cert_file or cert_pem is specified.
 * @property region Region of the target Nomad agent.
 * @property secretId ACL token secret for API requests.
 * @property skipVerify Skip TLS verification on client side.
 * @property vaultToken Vault token if policies are specified in the job file.
 */
public data class ProviderArgs(
    public val address: Output? = null,
    public val caFile: Output? = null,
    public val caPem: Output? = null,
    public val certFile: Output? = null,
    public val certPem: Output? = null,
    public val consulToken: Output? = null,
    public val headers: Output>? = null,
    public val httpAuth: Output? = null,
    public val ignoreEnvVars: Output>? = null,
    public val keyFile: Output? = null,
    public val keyPem: Output? = null,
    public val region: Output? = null,
    public val secretId: Output? = null,
    public val skipVerify: Output? = null,
    public val vaultToken: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.nomad.ProviderArgs = com.pulumi.nomad.ProviderArgs.builder()
        .address(address?.applyValue({ args0 -> args0 }))
        .caFile(caFile?.applyValue({ args0 -> args0 }))
        .caPem(caPem?.applyValue({ args0 -> args0 }))
        .certFile(certFile?.applyValue({ args0 -> args0 }))
        .certPem(certPem?.applyValue({ args0 -> args0 }))
        .consulToken(consulToken?.applyValue({ args0 -> args0 }))
        .headers(
            headers?.applyValue({ args0 ->
                args0.map({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                })
            }),
        )
        .httpAuth(httpAuth?.applyValue({ args0 -> args0 }))
        .ignoreEnvVars(
            ignoreEnvVars?.applyValue({ args0 ->
                args0.map({ args0 ->
                    args0.key.to(args0.value)
                }).toMap()
            }),
        )
        .keyFile(keyFile?.applyValue({ args0 -> args0 }))
        .keyPem(keyPem?.applyValue({ args0 -> args0 }))
        .region(region?.applyValue({ args0 -> args0 }))
        .secretId(secretId?.applyValue({ args0 -> args0 }))
        .skipVerify(skipVerify?.applyValue({ args0 -> args0 }))
        .vaultToken(vaultToken?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ProviderArgs].
 */
@PulumiTagMarker
public class ProviderArgsBuilder internal constructor() {
    private var address: Output? = null

    private var caFile: Output? = null

    private var caPem: Output? = null

    private var certFile: Output? = null

    private var certPem: Output? = null

    private var consulToken: Output? = null

    private var headers: Output>? = null

    private var httpAuth: Output? = null

    private var ignoreEnvVars: Output>? = null

    private var keyFile: Output? = null

    private var keyPem: Output? = null

    private var region: Output? = null

    private var secretId: Output? = null

    private var skipVerify: Output? = null

    private var vaultToken: Output? = null

    /**
     * @param value URL of the root of the target Nomad agent.
     */
    @JvmName("rmclmhpgympckgsj")
    public suspend fun address(`value`: Output) {
        this.address = value
    }

    /**
     * @param value A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
     */
    @JvmName("lqjonfggxprkehoi")
    public suspend fun caFile(`value`: Output) {
        this.caFile = value
    }

    /**
     * @param value PEM-encoded certificate authority used to verify the remote agent's certificate.
     */
    @JvmName("lmqpyvptkpwinqhi")
    public suspend fun caPem(`value`: Output) {
        this.caPem = value
    }

    /**
     * @param value A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
     */
    @JvmName("ukamfxhsxmfkmbis")
    public suspend fun certFile(`value`: Output) {
        this.certFile = value
    }

    /**
     * @param value PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
     */
    @JvmName("ruygdalbeysuebjw")
    public suspend fun certPem(`value`: Output) {
        this.certPem = value
    }

    /**
     * @param value Consul token to validate Consul Connect Service Identity policies specified in the job file.
     */
    @JvmName("kouwieqnrgovhava")
    public suspend fun consulToken(`value`: Output) {
        this.consulToken = value
    }

    /**
     * @param value The headers to send with each Nomad request.
     */
    @JvmName("ivwqinxvdkfllgan")
    public suspend fun headers(`value`: Output>) {
        this.headers = value
    }

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

    /**
     * @param values The headers to send with each Nomad request.
     */
    @JvmName("osnptpgcuybumoct")
    public suspend fun headers(values: List>) {
        this.headers = Output.all(values)
    }

    /**
     * @param value HTTP basic auth configuration.
     */
    @JvmName("wvcqyfeeiwlwywdw")
    public suspend fun httpAuth(`value`: Output) {
        this.httpAuth = value
    }

    /**
     * @param value A set of environment variables that are ignored by the provider when configuring the Nomad API client.
     */
    @JvmName("cdbqalaxysseytna")
    public suspend fun ignoreEnvVars(`value`: Output>) {
        this.ignoreEnvVars = value
    }

    /**
     * @param value A path to a PEM-encoded private key, required if cert_file or cert_pem is specified.
     */
    @JvmName("swkqosnenmegobqv")
    public suspend fun keyFile(`value`: Output) {
        this.keyFile = value
    }

    /**
     * @param value PEM-encoded private key, required if cert_file or cert_pem is specified.
     */
    @JvmName("kdqgkqyqtlwqtjdo")
    public suspend fun keyPem(`value`: Output) {
        this.keyPem = value
    }

    /**
     * @param value Region of the target Nomad agent.
     */
    @JvmName("fijxcuepjttcfnec")
    public suspend fun region(`value`: Output) {
        this.region = value
    }

    /**
     * @param value ACL token secret for API requests.
     */
    @JvmName("gxvlukecfhdvlqof")
    public suspend fun secretId(`value`: Output) {
        this.secretId = value
    }

    /**
     * @param value Skip TLS verification on client side.
     */
    @JvmName("lowdtttqjledljdb")
    public suspend fun skipVerify(`value`: Output) {
        this.skipVerify = value
    }

    /**
     * @param value Vault token if policies are specified in the job file.
     */
    @JvmName("yitaruxtccbrsnmw")
    public suspend fun vaultToken(`value`: Output) {
        this.vaultToken = value
    }

    /**
     * @param value URL of the root of the target Nomad agent.
     */
    @JvmName("jvlmxgdurrsmwnog")
    public suspend fun address(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.address = mapped
    }

    /**
     * @param value A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
     */
    @JvmName("hppogkvwlfidhjvl")
    public suspend fun caFile(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.caFile = mapped
    }

    /**
     * @param value PEM-encoded certificate authority used to verify the remote agent's certificate.
     */
    @JvmName("iwytegqcjsrbnvfj")
    public suspend fun caPem(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.caPem = mapped
    }

    /**
     * @param value A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
     */
    @JvmName("pvmxusuocsiioiky")
    public suspend fun certFile(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certFile = mapped
    }

    /**
     * @param value PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
     */
    @JvmName("hgrjgdvckmdnvduf")
    public suspend fun certPem(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.certPem = mapped
    }

    /**
     * @param value Consul token to validate Consul Connect Service Identity policies specified in the job file.
     */
    @JvmName("jhqpdxkdevgfqawt")
    public suspend fun consulToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.consulToken = mapped
    }

    /**
     * @param value The headers to send with each Nomad request.
     */
    @JvmName("mjlntbaosalrfycx")
    public suspend fun headers(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param argument The headers to send with each Nomad request.
     */
    @JvmName("asmlinctalassmjl")
    public suspend fun headers(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ProviderHeaderArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument The headers to send with each Nomad request.
     */
    @JvmName("hvltlkkamgdtylsi")
    public suspend fun headers(vararg argument: suspend ProviderHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ProviderHeaderArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param argument The headers to send with each Nomad request.
     */
    @JvmName("kowellbsxgiuikqp")
    public suspend fun headers(argument: suspend ProviderHeaderArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(ProviderHeaderArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.headers = mapped
    }

    /**
     * @param values The headers to send with each Nomad request.
     */
    @JvmName("ftobedbstsllbvgr")
    public suspend fun headers(vararg values: ProviderHeaderArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.headers = mapped
    }

    /**
     * @param value HTTP basic auth configuration.
     */
    @JvmName("jjhdbnkqyiehvofe")
    public suspend fun httpAuth(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpAuth = mapped
    }

    /**
     * @param value A set of environment variables that are ignored by the provider when configuring the Nomad API client.
     */
    @JvmName("atrdhdwoeqlklvok")
    public suspend fun ignoreEnvVars(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ignoreEnvVars = mapped
    }

    /**
     * @param values A set of environment variables that are ignored by the provider when configuring the Nomad API client.
     */
    @JvmName("kqavtfxrmdjedmet")
    public fun ignoreEnvVars(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.ignoreEnvVars = mapped
    }

    /**
     * @param value A path to a PEM-encoded private key, required if cert_file or cert_pem is specified.
     */
    @JvmName("rwmrkgaouvoosagq")
    public suspend fun keyFile(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyFile = mapped
    }

    /**
     * @param value PEM-encoded private key, required if cert_file or cert_pem is specified.
     */
    @JvmName("jngdposgbcembemo")
    public suspend fun keyPem(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyPem = mapped
    }

    /**
     * @param value Region of the target Nomad agent.
     */
    @JvmName("arrwegeulakqfvae")
    public suspend fun region(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.region = mapped
    }

    /**
     * @param value ACL token secret for API requests.
     */
    @JvmName("ttimywkwubrhojgu")
    public suspend fun secretId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secretId = mapped
    }

    /**
     * @param value Skip TLS verification on client side.
     */
    @JvmName("uqqgwuvtrtcsmcsy")
    public suspend fun skipVerify(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.skipVerify = mapped
    }

    /**
     * @param value Vault token if policies are specified in the job file.
     */
    @JvmName("bnwitoucqvwagdct")
    public suspend fun vaultToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vaultToken = mapped
    }

    internal fun build(): ProviderArgs = ProviderArgs(
        address = address,
        caFile = caFile,
        caPem = caPem,
        certFile = certFile,
        certPem = certPem,
        consulToken = consulToken,
        headers = headers,
        httpAuth = httpAuth,
        ignoreEnvVars = ignoreEnvVars,
        keyFile = keyFile,
        keyPem = keyPem,
        region = region,
        secretId = secretId,
        skipVerify = skipVerify,
        vaultToken = vaultToken,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy