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

com.pulumi.azurenative.devices.kotlin.inputs.RoutingEventHubPropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.devices.kotlin.inputs

import com.pulumi.azurenative.devices.inputs.RoutingEventHubPropertiesArgs.builder
import com.pulumi.azurenative.devices.kotlin.enums.AuthenticationType
import com.pulumi.core.Either
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * The properties related to an event hub endpoint.
 * @property authenticationType Method used to authenticate against the event hub endpoint
 * @property connectionString The connection string of the event hub endpoint.
 * @property endpointUri The url of the event hub endpoint. It must include the protocol sb://
 * @property entityPath Event hub name on the event hub namespace
 * @property id Id of the event hub endpoint
 * @property identity Managed identity properties of routing event hub endpoint.
 * @property name The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved:  events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
 * @property resourceGroup The name of the resource group of the event hub endpoint.
 * @property subscriptionId The subscription identifier of the event hub endpoint.
 */
public data class RoutingEventHubPropertiesArgs(
    public val authenticationType: Output>? = null,
    public val connectionString: Output? = null,
    public val endpointUri: Output? = null,
    public val entityPath: Output? = null,
    public val id: Output? = null,
    public val identity: Output? = null,
    public val name: Output,
    public val resourceGroup: Output? = null,
    public val subscriptionId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.devices.inputs.RoutingEventHubPropertiesArgs =
        com.pulumi.azurenative.devices.inputs.RoutingEventHubPropertiesArgs.builder()
            .authenticationType(
                authenticationType?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .connectionString(connectionString?.applyValue({ args0 -> args0 }))
            .endpointUri(endpointUri?.applyValue({ args0 -> args0 }))
            .entityPath(entityPath?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .identity(identity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .name(name.applyValue({ args0 -> args0 }))
            .resourceGroup(resourceGroup?.applyValue({ args0 -> args0 }))
            .subscriptionId(subscriptionId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [RoutingEventHubPropertiesArgs].
 */
@PulumiTagMarker
public class RoutingEventHubPropertiesArgsBuilder internal constructor() {
    private var authenticationType: Output>? = null

    private var connectionString: Output? = null

    private var endpointUri: Output? = null

    private var entityPath: Output? = null

    private var id: Output? = null

    private var identity: Output? = null

    private var name: Output? = null

    private var resourceGroup: Output? = null

    private var subscriptionId: Output? = null

    /**
     * @param value Method used to authenticate against the event hub endpoint
     */
    @JvmName("klbmuabyjdlkfxjl")
    public suspend fun authenticationType(`value`: Output>) {
        this.authenticationType = value
    }

    /**
     * @param value The connection string of the event hub endpoint.
     */
    @JvmName("wsnuenyiywkifusw")
    public suspend fun connectionString(`value`: Output) {
        this.connectionString = value
    }

    /**
     * @param value The url of the event hub endpoint. It must include the protocol sb://
     */
    @JvmName("xgtttnydllgqxfma")
    public suspend fun endpointUri(`value`: Output) {
        this.endpointUri = value
    }

    /**
     * @param value Event hub name on the event hub namespace
     */
    @JvmName("adwwaxpeyrkphght")
    public suspend fun entityPath(`value`: Output) {
        this.entityPath = value
    }

    /**
     * @param value Id of the event hub endpoint
     */
    @JvmName("nnavochasajtwuer")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value Managed identity properties of routing event hub endpoint.
     */
    @JvmName("bridxqjpbalxiuwc")
    public suspend fun identity(`value`: Output) {
        this.identity = value
    }

    /**
     * @param value The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved:  events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
     */
    @JvmName("mxikdvohhwivhwro")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The name of the resource group of the event hub endpoint.
     */
    @JvmName("namcarggftghoiqa")
    public suspend fun resourceGroup(`value`: Output) {
        this.resourceGroup = value
    }

    /**
     * @param value The subscription identifier of the event hub endpoint.
     */
    @JvmName("jlqqawiljclydgbe")
    public suspend fun subscriptionId(`value`: Output) {
        this.subscriptionId = value
    }

    /**
     * @param value Method used to authenticate against the event hub endpoint
     */
    @JvmName("umbbqppshbptelbd")
    public suspend fun authenticationType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value Method used to authenticate against the event hub endpoint
     */
    @JvmName("jdymxvbikdpnbnmo")
    public fun authenticationType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value Method used to authenticate against the event hub endpoint
     */
    @JvmName("bgminwxwxtwnmynk")
    public fun authenticationType(`value`: AuthenticationType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value The connection string of the event hub endpoint.
     */
    @JvmName("lyyolxyiifmwocqx")
    public suspend fun connectionString(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.connectionString = mapped
    }

    /**
     * @param value The url of the event hub endpoint. It must include the protocol sb://
     */
    @JvmName("yybjqqwlfshwqyxy")
    public suspend fun endpointUri(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endpointUri = mapped
    }

    /**
     * @param value Event hub name on the event hub namespace
     */
    @JvmName("sqhftcevmrwohvdn")
    public suspend fun entityPath(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entityPath = mapped
    }

    /**
     * @param value Id of the event hub endpoint
     */
    @JvmName("hwkmghkuhaxwvtra")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value Managed identity properties of routing event hub endpoint.
     */
    @JvmName("rpnbouowjgotmewa")
    public suspend fun identity(`value`: ManagedIdentityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.identity = mapped
    }

    /**
     * @param argument Managed identity properties of routing event hub endpoint.
     */
    @JvmName("ifycdtqqthkjmkim")
    public suspend fun identity(argument: suspend ManagedIdentityArgsBuilder.() -> Unit) {
        val toBeMapped = ManagedIdentityArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.identity = mapped
    }

    /**
     * @param value The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved:  events, fileNotifications, $default. Endpoint names must be unique across endpoint types.
     */
    @JvmName("qthlysubntqopboa")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The name of the resource group of the event hub endpoint.
     */
    @JvmName("jejcrfqfimafduws")
    public suspend fun resourceGroup(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroup = mapped
    }

    /**
     * @param value The subscription identifier of the event hub endpoint.
     */
    @JvmName("hivjexhxeiwbfmup")
    public suspend fun subscriptionId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subscriptionId = mapped
    }

    internal fun build(): RoutingEventHubPropertiesArgs = RoutingEventHubPropertiesArgs(
        authenticationType = authenticationType,
        connectionString = connectionString,
        endpointUri = endpointUri,
        entityPath = entityPath,
        id = id,
        identity = identity,
        name = name ?: throw PulumiNullFieldException("name"),
        resourceGroup = resourceGroup,
        subscriptionId = subscriptionId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy