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

com.pulumi.vault.aws.kotlin.AuthBackendCert.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.aws.kotlin

import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit

/**
 * Builder for [AuthBackendCert].
 */
@PulumiTagMarker
public class AuthBackendCertResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: AuthBackendCertArgs = AuthBackendCertArgs()

    public var opts: CustomResourceOptions = CustomResourceOptions()

    /**
     * @param name The _unique_ name of the resulting resource.
     */
    public fun name(`value`: String) {
        this.name = value
    }

    /**
     * @param block The arguments to use to populate this resource's properties.
     */
    public suspend fun args(block: suspend AuthBackendCertArgsBuilder.() -> Unit) {
        val builder = AuthBackendCertArgsBuilder()
        block(builder)
        this.args = builder.build()
    }

    /**
     * @param block A bag of options that control this resource's behavior.
     */
    public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
        this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
    }

    internal fun build(): AuthBackendCert {
        val builtJavaResource = com.pulumi.vault.aws.AuthBackendCert(
            this.name,
            this.args.toJava(),
            this.opts.toJava(),
        )
        return AuthBackendCert(builtJavaResource)
    }
}

/**
 * ## Example Usage
 * ## Import
 * AWS auth backend certificates can be imported using `auth/`, the `backend` path, `/config/certificate/`, and the `cert_name` e.g.
 * ```sh
 * $ pulumi import vault:aws/authBackendCert:AuthBackendCert example auth/aws/config/certificate/my-cert
 * ```
 */
public class AuthBackendCert internal constructor(
    override val javaResource: com.pulumi.vault.aws.AuthBackendCert,
) : KotlinCustomResource(javaResource, AuthBackendCertMapper) {
    /**
     * The  Base64 encoded AWS Public key required to
     * verify PKCS7 signature of the EC2 instance metadata. You can find this key in
     * the [AWS
   * documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html).
     */
    public val awsPublicCert: Output
        get() = javaResource.awsPublicCert().applyValue({ args0 -> args0 })

    /**
     * The path the AWS auth backend being configured was
     * mounted at.  Defaults to `aws`.
     */
    public val backend: Output?
        get() = javaResource.backend().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })

    /**
     * The name of the certificate.
     */
    public val certName: Output
        get() = javaResource.certName().applyValue({ args0 -> args0 })

    /**
     * The namespace to provision the resource in.
     * 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*.
     */
    public val namespace: Output?
        get() = javaResource.namespace().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })

    /**
     * Either "pkcs7" or "identity", indicating the type of
     * document which can be verified using the given certificate. Defaults to
     * "pkcs7".
     */
    public val type: Output?
        get() = javaResource.type().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })
}

public object AuthBackendCertMapper : ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.vault.aws.AuthBackendCert::class == javaResource::class

    override fun map(javaResource: Resource): AuthBackendCert = AuthBackendCert(
        javaResource as
            com.pulumi.vault.aws.AuthBackendCert,
    )
}

/**
 * @see [AuthBackendCert].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [AuthBackendCert].
 */
public suspend fun authBackendCert(
    name: String,
    block: suspend AuthBackendCertResourceBuilder.() -> Unit,
): AuthBackendCert {
    val builder = AuthBackendCertResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [AuthBackendCert].
 * @param name The _unique_ name of the resulting resource.
 */
public fun authBackendCert(name: String): AuthBackendCert {
    val builder = AuthBackendCertResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy