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

com.pulumi.azurenative.botservice.kotlin.inputs.SlackChannelArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.botservice.kotlin.inputs

import com.pulumi.azurenative.botservice.inputs.SlackChannelArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Slack channel definition
 * @property channelName The channel name
 * Expected value is 'SlackChannel'.
 * @property etag Entity Tag of the resource
 * @property location Specifies the location of the resource.
 * @property properties The set of properties specific to Slack channel resource
 */
public data class SlackChannelArgs(
    public val channelName: Output,
    public val etag: Output? = null,
    public val location: Output? = null,
    public val properties: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.botservice.inputs.SlackChannelArgs =
        com.pulumi.azurenative.botservice.inputs.SlackChannelArgs.builder()
            .channelName(channelName.applyValue({ args0 -> args0 }))
            .etag(etag?.applyValue({ args0 -> args0 }))
            .location(location?.applyValue({ args0 -> args0 }))
            .properties(properties?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [SlackChannelArgs].
 */
@PulumiTagMarker
public class SlackChannelArgsBuilder internal constructor() {
    private var channelName: Output? = null

    private var etag: Output? = null

    private var location: Output? = null

    private var properties: Output? = null

    /**
     * @param value The channel name
     * Expected value is 'SlackChannel'.
     */
    @JvmName("lrswesqgwfbmugpm")
    public suspend fun channelName(`value`: Output) {
        this.channelName = value
    }

    /**
     * @param value Entity Tag of the resource
     */
    @JvmName("guagoeiwtytjyeax")
    public suspend fun etag(`value`: Output) {
        this.etag = value
    }

    /**
     * @param value Specifies the location of the resource.
     */
    @JvmName("ahisqlgcopyrabkg")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value The set of properties specific to Slack channel resource
     */
    @JvmName("fsbxhoqkgkooneej")
    public suspend fun properties(`value`: Output) {
        this.properties = value
    }

    /**
     * @param value The channel name
     * Expected value is 'SlackChannel'.
     */
    @JvmName("cigjypajgsxecjll")
    public suspend fun channelName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.channelName = mapped
    }

    /**
     * @param value Entity Tag of the resource
     */
    @JvmName("ixciankbumwocmgo")
    public suspend fun etag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.etag = mapped
    }

    /**
     * @param value Specifies the location of the resource.
     */
    @JvmName("vxpaslghstmjcvnm")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value The set of properties specific to Slack channel resource
     */
    @JvmName("catlceqjbvfhkchl")
    public suspend fun properties(`value`: SlackChannelPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.properties = mapped
    }

    /**
     * @param argument The set of properties specific to Slack channel resource
     */
    @JvmName("hqpytgpqqstvfnry")
    public suspend fun properties(argument: suspend SlackChannelPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = SlackChannelPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.properties = mapped
    }

    internal fun build(): SlackChannelArgs = SlackChannelArgs(
        channelName = channelName ?: throw PulumiNullFieldException("channelName"),
        etag = etag,
        location = location,
        properties = properties,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy