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

com.pulumi.azure.servicebus.kotlin.inputs.SubscriptionClientScopedSubscriptionArgs.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.servicebus.kotlin.inputs

import com.pulumi.azure.servicebus.inputs.SubscriptionClientScopedSubscriptionArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property clientId Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.
 * > **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.
 * @property isClientScopedSubscriptionDurable Whether the client scoped subscription is durable. This property can only be controlled from the application side.
 * @property isClientScopedSubscriptionShareable Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.
 */
public data class SubscriptionClientScopedSubscriptionArgs(
    public val clientId: Output? = null,
    public val isClientScopedSubscriptionDurable: Output? = null,
    public val isClientScopedSubscriptionShareable: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.servicebus.inputs.SubscriptionClientScopedSubscriptionArgs = com.pulumi.azure.servicebus.inputs.SubscriptionClientScopedSubscriptionArgs.builder()
        .clientId(clientId?.applyValue({ args0 -> args0 }))
        .isClientScopedSubscriptionDurable(
            isClientScopedSubscriptionDurable?.applyValue({ args0 ->
                args0
            }),
        )
        .isClientScopedSubscriptionShareable(
            isClientScopedSubscriptionShareable?.applyValue({ args0 ->
                args0
            }),
        ).build()
}

/**
 * Builder for [SubscriptionClientScopedSubscriptionArgs].
 */
@PulumiTagMarker
public class SubscriptionClientScopedSubscriptionArgsBuilder internal constructor() {
    private var clientId: Output? = null

    private var isClientScopedSubscriptionDurable: Output? = null

    private var isClientScopedSubscriptionShareable: Output? = null

    /**
     * @param value Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.
     * > **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.
     */
    @JvmName("ahfrfyseochhxjcf")
    public suspend fun clientId(`value`: Output) {
        this.clientId = value
    }

    /**
     * @param value Whether the client scoped subscription is durable. This property can only be controlled from the application side.
     */
    @JvmName("wimhnaqtlcfsvarq")
    public suspend fun isClientScopedSubscriptionDurable(`value`: Output) {
        this.isClientScopedSubscriptionDurable = value
    }

    /**
     * @param value Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.
     */
    @JvmName("ddiatxvmeiddvhua")
    public suspend fun isClientScopedSubscriptionShareable(`value`: Output) {
        this.isClientScopedSubscriptionShareable = value
    }

    /**
     * @param value Specifies the Client ID of the application that created the client-scoped subscription. Changing this forces a new resource to be created.
     * > **NOTE:** Client ID can be null or empty, but it must match the client ID set on the JMS client application. From the Azure Service Bus perspective, a null client ID and an empty client id have the same behavior. If the client ID is set to null or empty, it is only accessible to client applications whose client ID is also set to null or empty.
     */
    @JvmName("xxfnbuxgyyfwjmhs")
    public suspend fun clientId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientId = mapped
    }

    /**
     * @param value Whether the client scoped subscription is durable. This property can only be controlled from the application side.
     */
    @JvmName("ocakphfexphkvekv")
    public suspend fun isClientScopedSubscriptionDurable(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isClientScopedSubscriptionDurable = mapped
    }

    /**
     * @param value Whether the client scoped subscription is shareable. Defaults to `true` Changing this forces a new resource to be created.
     */
    @JvmName("vvsanjwyugxentiw")
    public suspend fun isClientScopedSubscriptionShareable(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isClientScopedSubscriptionShareable = mapped
    }

    internal fun build(): SubscriptionClientScopedSubscriptionArgs =
        SubscriptionClientScopedSubscriptionArgs(
            clientId = clientId,
            isClientScopedSubscriptionDurable = isClientScopedSubscriptionDurable,
            isClientScopedSubscriptionShareable = isClientScopedSubscriptionShareable,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy