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

com.pulumi.awsnative.pcaconnectorad.kotlin.TemplateArgs.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.pcaconnectorad.kotlin

import com.pulumi.awsnative.pcaconnectorad.TemplateArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Any
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Represents a template that defines certificate configurations, both for issuance and client handling
 * @property connectorArn The Amazon Resource Name (ARN) that was returned when you called [CreateConnector](https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html) .
 * @property definition Template configuration to define the information included in certificates. Define certificate validity and renewal periods, certificate request handling and enrollment options, key usage extensions, application policies, and cryptography settings.
 * @property name Name of the templates. Template names must be unique.
 * @property reenrollAllCertificateHolders This setting allows the major version of a template to be increased automatically. All members of Active Directory groups that are allowed to enroll with a template will receive a new certificate issued using that template.
 * @property tags Metadata assigned to a template consisting of a key-value pair.
 */
public data class TemplateArgs(
    public val connectorArn: Output? = null,
    public val definition: Output? = null,
    public val name: Output? = null,
    public val reenrollAllCertificateHolders: Output? = null,
    public val tags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.pcaconnectorad.TemplateArgs =
        com.pulumi.awsnative.pcaconnectorad.TemplateArgs.builder()
            .connectorArn(connectorArn?.applyValue({ args0 -> args0 }))
            .definition(definition?.applyValue({ args0 -> args0 }))
            .name(name?.applyValue({ args0 -> args0 }))
            .reenrollAllCertificateHolders(reenrollAllCertificateHolders?.applyValue({ args0 -> args0 }))
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [TemplateArgs].
 */
@PulumiTagMarker
public class TemplateArgsBuilder internal constructor() {
    private var connectorArn: Output? = null

    private var definition: Output? = null

    private var name: Output? = null

    private var reenrollAllCertificateHolders: Output? = null

    private var tags: Output>? = null

    /**
     * @param value The Amazon Resource Name (ARN) that was returned when you called [CreateConnector](https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html) .
     */
    @JvmName("bvskeufgwebwchej")
    public suspend fun connectorArn(`value`: Output) {
        this.connectorArn = value
    }

    /**
     * @param value Template configuration to define the information included in certificates. Define certificate validity and renewal periods, certificate request handling and enrollment options, key usage extensions, application policies, and cryptography settings.
     */
    @JvmName("uuvyvmqdlmadqfrb")
    public suspend fun definition(`value`: Output) {
        this.definition = value
    }

    /**
     * @param value Name of the templates. Template names must be unique.
     */
    @JvmName("cllsmjvyacxsbekt")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value This setting allows the major version of a template to be increased automatically. All members of Active Directory groups that are allowed to enroll with a template will receive a new certificate issued using that template.
     */
    @JvmName("khucytfhklykwsud")
    public suspend fun reenrollAllCertificateHolders(`value`: Output) {
        this.reenrollAllCertificateHolders = value
    }

    /**
     * @param value Metadata assigned to a template consisting of a key-value pair.
     */
    @JvmName("sbihgclkanrlkukx")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) that was returned when you called [CreateConnector](https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html) .
     */
    @JvmName("pjfqmibrocqgwxpl")
    public suspend fun connectorArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectorArn = mapped
    }

    /**
     * @param value Template configuration to define the information included in certificates. Define certificate validity and renewal periods, certificate request handling and enrollment options, key usage extensions, application policies, and cryptography settings.
     */
    @JvmName("sajdpllimdvwsdpb")
    public suspend fun definition(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.definition = mapped
    }

    /**
     * @param value Name of the templates. Template names must be unique.
     */
    @JvmName("ytbpyakvpuduikeg")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value This setting allows the major version of a template to be increased automatically. All members of Active Directory groups that are allowed to enroll with a template will receive a new certificate issued using that template.
     */
    @JvmName("nuufytnrfhoahhnp")
    public suspend fun reenrollAllCertificateHolders(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.reenrollAllCertificateHolders = mapped
    }

    /**
     * @param value Metadata assigned to a template consisting of a key-value pair.
     */
    @JvmName("eqpplabmgrckogdt")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values Metadata assigned to a template consisting of a key-value pair.
     */
    @JvmName("awqrthwdtbebthnx")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    internal fun build(): TemplateArgs = TemplateArgs(
        connectorArn = connectorArn,
        definition = definition,
        name = name,
        reenrollAllCertificateHolders = reenrollAllCertificateHolders,
        tags = tags,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy