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,
)
}