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

com.pulumi.azurenative.notificationhubs.kotlin.inputs.NamespacePropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.notificationhubs.kotlin.inputs

import com.pulumi.azurenative.notificationhubs.inputs.NamespacePropertiesArgs.builder
import com.pulumi.azurenative.notificationhubs.kotlin.enums.NamespaceStatus
import com.pulumi.azurenative.notificationhubs.kotlin.enums.NamespaceType
import com.pulumi.azurenative.notificationhubs.kotlin.enums.OperationProvisioningState
import com.pulumi.azurenative.notificationhubs.kotlin.enums.PublicNetworkAccess
import com.pulumi.azurenative.notificationhubs.kotlin.enums.ReplicationRegion
import com.pulumi.azurenative.notificationhubs.kotlin.enums.ZoneRedundancyPreference
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Represents namespace properties.
 * @property dataCenter Deprecated.
 * @property namespaceType Defines values for NamespaceType.
 * @property networkAcls A collection of network authorization rules.
 * @property pnsCredentials Collection of Notification Hub or Notification Hub Namespace PNS credentials.
 * @property provisioningState Defines values for OperationProvisioningState.
 * @property publicNetworkAccess Type of public network access.
 * @property replicationRegion Allowed replication region
 * @property scaleUnit Gets or sets scaleUnit where the namespace gets created
 * @property status Namespace status.
 * @property zoneRedundancy Namespace SKU name.
 */
public data class NamespacePropertiesArgs(
    public val dataCenter: Output? = null,
    public val namespaceType: Output>? = null,
    public val networkAcls: Output? = null,
    public val pnsCredentials: Output? = null,
    public val provisioningState: Output>? = null,
    public val publicNetworkAccess: Output>? = null,
    public val replicationRegion: Output>? = null,
    public val scaleUnit: Output? = null,
    public val status: Output>? = null,
    public val zoneRedundancy: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.notificationhubs.inputs.NamespacePropertiesArgs =
        com.pulumi.azurenative.notificationhubs.inputs.NamespacePropertiesArgs.builder()
            .dataCenter(dataCenter?.applyValue({ args0 -> args0 }))
            .namespaceType(
                namespaceType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .networkAcls(networkAcls?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .pnsCredentials(pnsCredentials?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .provisioningState(
                provisioningState?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .publicNetworkAccess(
                publicNetworkAccess?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .replicationRegion(
                replicationRegion?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .scaleUnit(scaleUnit?.applyValue({ args0 -> args0 }))
            .status(
                status?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .zoneRedundancy(
                zoneRedundancy?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [NamespacePropertiesArgs].
 */
@PulumiTagMarker
public class NamespacePropertiesArgsBuilder internal constructor() {
    private var dataCenter: Output? = null

    private var namespaceType: Output>? = null

    private var networkAcls: Output? = null

    private var pnsCredentials: Output? = null

    private var provisioningState: Output>? = null

    private var publicNetworkAccess: Output>? = null

    private var replicationRegion: Output>? = null

    private var scaleUnit: Output? = null

    private var status: Output>? = null

    private var zoneRedundancy: Output>? = null

    /**
     * @param value Deprecated.
     */
    @JvmName("pxkupaswyaevwdaa")
    public suspend fun dataCenter(`value`: Output) {
        this.dataCenter = value
    }

    /**
     * @param value Defines values for NamespaceType.
     */
    @JvmName("akvkwjejpxburxkx")
    public suspend fun namespaceType(`value`: Output>) {
        this.namespaceType = value
    }

    /**
     * @param value A collection of network authorization rules.
     */
    @JvmName("pisuitwlrdpmoafy")
    public suspend fun networkAcls(`value`: Output) {
        this.networkAcls = value
    }

    /**
     * @param value Collection of Notification Hub or Notification Hub Namespace PNS credentials.
     */
    @JvmName("bhpoajpvmjsprpun")
    public suspend fun pnsCredentials(`value`: Output) {
        this.pnsCredentials = value
    }

    /**
     * @param value Defines values for OperationProvisioningState.
     */
    @JvmName("tbpvtqufxabtednk")
    public suspend fun provisioningState(`value`: Output>) {
        this.provisioningState = value
    }

    /**
     * @param value Type of public network access.
     */
    @JvmName("sybmhoqijrjwewdw")
    public suspend fun publicNetworkAccess(`value`: Output>) {
        this.publicNetworkAccess = value
    }

    /**
     * @param value Allowed replication region
     */
    @JvmName("thrgmvxhwqwweiyq")
    public suspend fun replicationRegion(`value`: Output>) {
        this.replicationRegion = value
    }

    /**
     * @param value Gets or sets scaleUnit where the namespace gets created
     */
    @JvmName("lyydqcjedabbhiyu")
    public suspend fun scaleUnit(`value`: Output) {
        this.scaleUnit = value
    }

    /**
     * @param value Namespace status.
     */
    @JvmName("cpqhjivxgtlxlhla")
    public suspend fun status(`value`: Output>) {
        this.status = value
    }

    /**
     * @param value Namespace SKU name.
     */
    @JvmName("jnjwkhfpihrvbkuw")
    public suspend fun zoneRedundancy(`value`: Output>) {
        this.zoneRedundancy = value
    }

    /**
     * @param value Deprecated.
     */
    @JvmName("ugtjvbotxeitcqra")
    public suspend fun dataCenter(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataCenter = mapped
    }

    /**
     * @param value Defines values for NamespaceType.
     */
    @JvmName("qnnocqccjnosybwl")
    public suspend fun namespaceType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.namespaceType = mapped
    }

    /**
     * @param value Defines values for NamespaceType.
     */
    @JvmName("pyojssxwrwbmcjbf")
    public fun namespaceType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.namespaceType = mapped
    }

    /**
     * @param value Defines values for NamespaceType.
     */
    @JvmName("ervubxswajoatqbm")
    public fun namespaceType(`value`: NamespaceType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.namespaceType = mapped
    }

    /**
     * @param value A collection of network authorization rules.
     */
    @JvmName("rrwfscrsxxabygmh")
    public suspend fun networkAcls(`value`: NetworkAclsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.networkAcls = mapped
    }

    /**
     * @param argument A collection of network authorization rules.
     */
    @JvmName("tidtirqdeqounbwu")
    public suspend fun networkAcls(argument: suspend NetworkAclsArgsBuilder.() -> Unit) {
        val toBeMapped = NetworkAclsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.networkAcls = mapped
    }

    /**
     * @param value Collection of Notification Hub or Notification Hub Namespace PNS credentials.
     */
    @JvmName("ykravosuwicyvnii")
    public suspend fun pnsCredentials(`value`: PnsCredentialsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pnsCredentials = mapped
    }

    /**
     * @param argument Collection of Notification Hub or Notification Hub Namespace PNS credentials.
     */
    @JvmName("vivchqumotlecgvk")
    public suspend fun pnsCredentials(argument: suspend PnsCredentialsArgsBuilder.() -> Unit) {
        val toBeMapped = PnsCredentialsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.pnsCredentials = mapped
    }

    /**
     * @param value Defines values for OperationProvisioningState.
     */
    @JvmName("utoxlpaerdlspflt")
    public suspend fun provisioningState(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.provisioningState = mapped
    }

    /**
     * @param value Defines values for OperationProvisioningState.
     */
    @JvmName("tllphitlrooeqtmp")
    public fun provisioningState(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.provisioningState = mapped
    }

    /**
     * @param value Defines values for OperationProvisioningState.
     */
    @JvmName("hqhrkeugvcornxea")
    public fun provisioningState(`value`: OperationProvisioningState) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.provisioningState = mapped
    }

    /**
     * @param value Type of public network access.
     */
    @JvmName("dpqkvpadhigffjes")
    public suspend fun publicNetworkAccess(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Type of public network access.
     */
    @JvmName("kgtalbqorymnjmko")
    public fun publicNetworkAccess(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Type of public network access.
     */
    @JvmName("hvanylscjqpmctnw")
    public fun publicNetworkAccess(`value`: PublicNetworkAccess) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.publicNetworkAccess = mapped
    }

    /**
     * @param value Allowed replication region
     */
    @JvmName("fsnqnxvqsbogoeec")
    public suspend fun replicationRegion(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.replicationRegion = mapped
    }

    /**
     * @param value Allowed replication region
     */
    @JvmName("dedhiufksyqujqym")
    public fun replicationRegion(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.replicationRegion = mapped
    }

    /**
     * @param value Allowed replication region
     */
    @JvmName("geisoaigubwiglkc")
    public fun replicationRegion(`value`: ReplicationRegion) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.replicationRegion = mapped
    }

    /**
     * @param value Gets or sets scaleUnit where the namespace gets created
     */
    @JvmName("hdkvxeoeptjwxepa")
    public suspend fun scaleUnit(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.scaleUnit = mapped
    }

    /**
     * @param value Namespace status.
     */
    @JvmName("cdsjwixelslxltdn")
    public suspend fun status(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Namespace status.
     */
    @JvmName("olkkqungclqhcuwf")
    public fun status(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Namespace status.
     */
    @JvmName("usjlqmakuiuecatq")
    public fun status(`value`: NamespaceStatus) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Namespace SKU name.
     */
    @JvmName("givrnipidleceyob")
    public suspend fun zoneRedundancy(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    /**
     * @param value Namespace SKU name.
     */
    @JvmName("hykpntpnuchfrbnr")
    public fun zoneRedundancy(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    /**
     * @param value Namespace SKU name.
     */
    @JvmName("vyhkudawfyowkqqa")
    public fun zoneRedundancy(`value`: ZoneRedundancyPreference) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.zoneRedundancy = mapped
    }

    internal fun build(): NamespacePropertiesArgs = NamespacePropertiesArgs(
        dataCenter = dataCenter,
        namespaceType = namespaceType,
        networkAcls = networkAcls,
        pnsCredentials = pnsCredentials,
        provisioningState = provisioningState,
        publicNetworkAccess = publicNetworkAccess,
        replicationRegion = replicationRegion,
        scaleUnit = scaleUnit,
        status = status,
        zoneRedundancy = zoneRedundancy,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy