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

com.pulumi.azure.apimanagement.kotlin.inputs.BackendServiceFabricClusterArgs.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.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.apimanagement.kotlin.inputs

import com.pulumi.azure.apimanagement.inputs.BackendServiceFabricClusterArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property clientCertificateId The client certificate resource id for the management endpoint.
 * > **Note:** At least one of `client_certificate_thumbprint`, and `client_certificate_id` must be set.
 * >
 * @property clientCertificateThumbprint The client certificate thumbprint for the management endpoint.
 * @property managementEndpoints A list of cluster management endpoints.
 * @property maxPartitionResolutionRetries The maximum number of retries when attempting resolve the partition.
 * @property serverCertificateThumbprints A list of thumbprints of the server certificates of the Service Fabric cluster.
 * @property serverX509Names One or more `server_x509_name` blocks as documented below.
 */
public data class BackendServiceFabricClusterArgs(
    public val clientCertificateId: Output? = null,
    public val clientCertificateThumbprint: Output? = null,
    public val managementEndpoints: Output>,
    public val maxPartitionResolutionRetries: Output,
    public val serverCertificateThumbprints: Output>? = null,
    public val serverX509Names: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.apimanagement.inputs.BackendServiceFabricClusterArgs =
        com.pulumi.azure.apimanagement.inputs.BackendServiceFabricClusterArgs.builder()
            .clientCertificateId(clientCertificateId?.applyValue({ args0 -> args0 }))
            .clientCertificateThumbprint(clientCertificateThumbprint?.applyValue({ args0 -> args0 }))
            .managementEndpoints(managementEndpoints.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .maxPartitionResolutionRetries(maxPartitionResolutionRetries.applyValue({ args0 -> args0 }))
            .serverCertificateThumbprints(
                serverCertificateThumbprints?.applyValue({ args0 ->
                    args0.map({ args0 -> args0 })
                }),
            )
            .serverX509Names(
                serverX509Names?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [BackendServiceFabricClusterArgs].
 */
@PulumiTagMarker
public class BackendServiceFabricClusterArgsBuilder internal constructor() {
    private var clientCertificateId: Output? = null

    private var clientCertificateThumbprint: Output? = null

    private var managementEndpoints: Output>? = null

    private var maxPartitionResolutionRetries: Output? = null

    private var serverCertificateThumbprints: Output>? = null

    private var serverX509Names: Output>? = null

    /**
     * @param value The client certificate resource id for the management endpoint.
     * > **Note:** At least one of `client_certificate_thumbprint`, and `client_certificate_id` must be set.
     * >
     */
    @JvmName("qtkvupnyqiuvqwqx")
    public suspend fun clientCertificateId(`value`: Output) {
        this.clientCertificateId = value
    }

    /**
     * @param value The client certificate thumbprint for the management endpoint.
     */
    @JvmName("wirgscsynrxujxud")
    public suspend fun clientCertificateThumbprint(`value`: Output) {
        this.clientCertificateThumbprint = value
    }

    /**
     * @param value A list of cluster management endpoints.
     */
    @JvmName("tfxxvldpojctwgik")
    public suspend fun managementEndpoints(`value`: Output>) {
        this.managementEndpoints = value
    }

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

    /**
     * @param values A list of cluster management endpoints.
     */
    @JvmName("cfhskevgicqpubqp")
    public suspend fun managementEndpoints(values: List>) {
        this.managementEndpoints = Output.all(values)
    }

    /**
     * @param value The maximum number of retries when attempting resolve the partition.
     */
    @JvmName("gouvbkrmrragfurn")
    public suspend fun maxPartitionResolutionRetries(`value`: Output) {
        this.maxPartitionResolutionRetries = value
    }

    /**
     * @param value A list of thumbprints of the server certificates of the Service Fabric cluster.
     */
    @JvmName("rrvgyphtdxnpxolj")
    public suspend fun serverCertificateThumbprints(`value`: Output>) {
        this.serverCertificateThumbprints = value
    }

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

    /**
     * @param values A list of thumbprints of the server certificates of the Service Fabric cluster.
     */
    @JvmName("fjbxpwlxdkrbksfq")
    public suspend fun serverCertificateThumbprints(values: List>) {
        this.serverCertificateThumbprints = Output.all(values)
    }

    /**
     * @param value One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("yxxfffmxwtlyscak")
    public suspend
    fun serverX509Names(`value`: Output>) {
        this.serverX509Names = value
    }

    @JvmName("mxxtrmfarmyhtlcx")
    public suspend fun serverX509Names(
        vararg
        values: Output,
    ) {
        this.serverX509Names = Output.all(values.asList())
    }

    /**
     * @param values One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("cxltycdtponiajgs")
    public suspend
    fun serverX509Names(values: List>) {
        this.serverX509Names = Output.all(values)
    }

    /**
     * @param value The client certificate resource id for the management endpoint.
     * > **Note:** At least one of `client_certificate_thumbprint`, and `client_certificate_id` must be set.
     * >
     */
    @JvmName("qxwcjwmdiwjodqjr")
    public suspend fun clientCertificateId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificateId = mapped
    }

    /**
     * @param value The client certificate thumbprint for the management endpoint.
     */
    @JvmName("fhbslrpufkixvmil")
    public suspend fun clientCertificateThumbprint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificateThumbprint = mapped
    }

    /**
     * @param value A list of cluster management endpoints.
     */
    @JvmName("ioqcfavxwepsucsf")
    public suspend fun managementEndpoints(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.managementEndpoints = mapped
    }

    /**
     * @param values A list of cluster management endpoints.
     */
    @JvmName("ieurutofunlwgdsm")
    public suspend fun managementEndpoints(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.managementEndpoints = mapped
    }

    /**
     * @param value The maximum number of retries when attempting resolve the partition.
     */
    @JvmName("kfokafpeujjssien")
    public suspend fun maxPartitionResolutionRetries(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.maxPartitionResolutionRetries = mapped
    }

    /**
     * @param value A list of thumbprints of the server certificates of the Service Fabric cluster.
     */
    @JvmName("niinugupwdmckplw")
    public suspend fun serverCertificateThumbprints(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverCertificateThumbprints = mapped
    }

    /**
     * @param values A list of thumbprints of the server certificates of the Service Fabric cluster.
     */
    @JvmName("qpmpcxlvfwshipnf")
    public suspend fun serverCertificateThumbprints(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serverCertificateThumbprints = mapped
    }

    /**
     * @param value One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("gbvfdhsarvucvgrh")
    public suspend
    fun serverX509Names(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverX509Names = mapped
    }

    /**
     * @param argument One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("cjyvenxhvaonitur")
    public suspend
    fun serverX509Names(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            BackendServiceFabricClusterServerX509NameArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param argument One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("loxptvgmlifhwcuc")
    public suspend fun serverX509Names(
        vararg
        argument: suspend BackendServiceFabricClusterServerX509NameArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            BackendServiceFabricClusterServerX509NameArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param argument One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("qiqycorvhblbjlgm")
    public suspend
    fun serverX509Names(argument: suspend BackendServiceFabricClusterServerX509NameArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            BackendServiceFabricClusterServerX509NameArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param values One or more `server_x509_name` blocks as documented below.
     */
    @JvmName("gelevofadxkkmcje")
    public suspend fun serverX509Names(vararg values: BackendServiceFabricClusterServerX509NameArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serverX509Names = mapped
    }

    internal fun build(): BackendServiceFabricClusterArgs = BackendServiceFabricClusterArgs(
        clientCertificateId = clientCertificateId,
        clientCertificateThumbprint = clientCertificateThumbprint,
        managementEndpoints = managementEndpoints ?: throw PulumiNullFieldException("managementEndpoints"),
        maxPartitionResolutionRetries = maxPartitionResolutionRetries ?: throw
            PulumiNullFieldException("maxPartitionResolutionRetries"),
        serverCertificateThumbprints = serverCertificateThumbprints,
        serverX509Names = serverX509Names,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy