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

com.pulumi.azurenative.apimanagement.kotlin.inputs.BackendServiceFabricClusterPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.apimanagement.kotlin.inputs

import com.pulumi.azurenative.apimanagement.inputs.BackendServiceFabricClusterPropertiesArgs.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

/**
 * Properties of the Service Fabric Type Backend.
 * @property clientCertificateId The client certificate id for the management endpoint.
 * @property clientCertificatethumbprint The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided
 * @property managementEndpoints The cluster management endpoint.
 * @property maxPartitionResolutionRetries Maximum number of retries while attempting resolve the partition.
 * @property serverCertificateThumbprints Thumbprints of certificates cluster management service uses for tls communication
 * @property serverX509Names Server X509 Certificate Names Collection
 */
public data class BackendServiceFabricClusterPropertiesArgs(
    public val clientCertificateId: Output? = null,
    public val clientCertificatethumbprint: Output? = null,
    public val managementEndpoints: Output>,
    public val maxPartitionResolutionRetries: Output? = null,
    public val serverCertificateThumbprints: Output>? = null,
    public val serverX509Names: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.apimanagement.inputs.BackendServiceFabricClusterPropertiesArgs =
        com.pulumi.azurenative.apimanagement.inputs.BackendServiceFabricClusterPropertiesArgs.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 [BackendServiceFabricClusterPropertiesArgs].
 */
@PulumiTagMarker
public class BackendServiceFabricClusterPropertiesArgsBuilder 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 id for the management endpoint.
     */
    @JvmName("bgrdwkpqfacldwcm")
    public suspend fun clientCertificateId(`value`: Output) {
        this.clientCertificateId = value
    }

    /**
     * @param value The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided
     */
    @JvmName("toemodklbywpaxhm")
    public suspend fun clientCertificatethumbprint(`value`: Output) {
        this.clientCertificatethumbprint = value
    }

    /**
     * @param value The cluster management endpoint.
     */
    @JvmName("xkaxadtmhfjdrtaw")
    public suspend fun managementEndpoints(`value`: Output>) {
        this.managementEndpoints = value
    }

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

    /**
     * @param values The cluster management endpoint.
     */
    @JvmName("bynrrjuqfwutgmrs")
    public suspend fun managementEndpoints(values: List>) {
        this.managementEndpoints = Output.all(values)
    }

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

    /**
     * @param value Thumbprints of certificates cluster management service uses for tls communication
     */
    @JvmName("qcjndeumbnoxaasu")
    public suspend fun serverCertificateThumbprints(`value`: Output>) {
        this.serverCertificateThumbprints = value
    }

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

    /**
     * @param values Thumbprints of certificates cluster management service uses for tls communication
     */
    @JvmName("qcxawbuudxqhwyve")
    public suspend fun serverCertificateThumbprints(values: List>) {
        this.serverCertificateThumbprints = Output.all(values)
    }

    /**
     * @param value Server X509 Certificate Names Collection
     */
    @JvmName("qrpoouubbyddwnde")
    public suspend fun serverX509Names(`value`: Output>) {
        this.serverX509Names = value
    }

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

    /**
     * @param values Server X509 Certificate Names Collection
     */
    @JvmName("ldldkjndghkrnqcs")
    public suspend fun serverX509Names(values: List>) {
        this.serverX509Names = Output.all(values)
    }

    /**
     * @param value The client certificate id for the management endpoint.
     */
    @JvmName("endyapcbutxteioq")
    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. Will be ignored if certificatesIds are provided
     */
    @JvmName("mhgbkthvttvrnett")
    public suspend fun clientCertificatethumbprint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientCertificatethumbprint = mapped
    }

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

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

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

    /**
     * @param value Thumbprints of certificates cluster management service uses for tls communication
     */
    @JvmName("vmcbnnwkqyvxtlax")
    public suspend fun serverCertificateThumbprints(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverCertificateThumbprints = mapped
    }

    /**
     * @param values Thumbprints of certificates cluster management service uses for tls communication
     */
    @JvmName("ulvrjrhinqpcnlcy")
    public suspend fun serverCertificateThumbprints(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serverCertificateThumbprints = mapped
    }

    /**
     * @param value Server X509 Certificate Names Collection
     */
    @JvmName("lwbytuhmjeowxhyu")
    public suspend fun serverX509Names(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverX509Names = mapped
    }

    /**
     * @param argument Server X509 Certificate Names Collection
     */
    @JvmName("xahvywdntkiebprn")
    public suspend fun serverX509Names(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            X509CertificateNameArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param argument Server X509 Certificate Names Collection
     */
    @JvmName("shaypxqtgogdjhie")
    public suspend fun serverX509Names(vararg argument: suspend X509CertificateNameArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            X509CertificateNameArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param argument Server X509 Certificate Names Collection
     */
    @JvmName("pbrbqlgqgxkpigwl")
    public suspend fun serverX509Names(argument: suspend X509CertificateNameArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(X509CertificateNameArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.serverX509Names = mapped
    }

    /**
     * @param values Server X509 Certificate Names Collection
     */
    @JvmName("cwcclaelbhhxsgnt")
    public suspend fun serverX509Names(vararg values: X509CertificateNameArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serverX509Names = mapped
    }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy